C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
exprtk::results_context< T > Class Template Reference

#include <exprtk.hpp>

Public Types

typedef type_store< T > type_store_t
 
typedef type_store_t::scalar_view scalar_t
 
typedef type_store_t::vector_view vector_t
 
typedef type_store_t::string_view string_t
 

Public Member Functions

 results_context ()
 
std::size_t count () const
 
type_store_toperator[] (const std::size_t &index)
 
const type_store_toperator[] (const std::size_t &index) const
 
bool get_scalar (const std::size_t &index, T &out) const
 
template<typename OutputIterator >
bool get_vector (const std::size_t &index, OutputIterator out_itr) const
 
bool get_vector (const std::size_t &index, std::vector< T > &out) const
 
bool get_string (const std::size_t &index, std::string &out) const
 

Private Types

typedef std::vector< type_store_tts_list_t
 
typedef type_store_t::parameter_list parameter_list_t
 

Private Member Functions

void clear ()
 
void assign (const parameter_list_t &pl)
 

Private Attributes

bool results_available_
 
ts_list_t parameter_list_
 

Friends

class details::return_node< T >
 
class details::return_envelope_node< T >
 

Detailed Description

template<typename T>
class exprtk::results_context< T >

Definition at line 4883 of file exprtk.hpp.

Member Typedef Documentation

◆ parameter_list_t

template<typename T >
typedef type_store_t::parameter_list exprtk::results_context< T >::parameter_list_t
private

Definition at line 4977 of file exprtk.hpp.

◆ scalar_t

template<typename T >
typedef type_store_t::scalar_view exprtk::results_context< T >::scalar_t

Definition at line 4888 of file exprtk.hpp.

◆ string_t

template<typename T >
typedef type_store_t::string_view exprtk::results_context< T >::string_t

Definition at line 4890 of file exprtk.hpp.

◆ ts_list_t

template<typename T >
typedef std::vector<type_store_t> exprtk::results_context< T >::ts_list_t
private

Definition at line 4976 of file exprtk.hpp.

◆ type_store_t

template<typename T >
typedef type_store<T> exprtk::results_context< T >::type_store_t

Definition at line 4887 of file exprtk.hpp.

◆ vector_t

template<typename T >
typedef type_store_t::vector_view exprtk::results_context< T >::vector_t

Definition at line 4889 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ results_context()

template<typename T >
exprtk::results_context< T >::results_context ( )
inline

Definition at line 4892 of file exprtk.hpp.

4893 : results_available_(false)
4894 {}

Member Function Documentation

◆ assign()

template<typename T >
void exprtk::results_context< T >::assign ( const parameter_list_t pl)
inlineprivate

◆ clear()

template<typename T >
void exprtk::results_context< T >::clear ( )
inlineprivate

Definition at line 4971 of file exprtk.hpp.

4972 {
4973 results_available_ = false;
4974 }

References exprtk::results_context< T >::results_available_.

Referenced by exprtk::details::return_envelope_node< T >::value().

Here is the caller graph for this function:

◆ count()

template<typename T >
std::size_t exprtk::results_context< T >::count ( ) const
inline

Definition at line 4896 of file exprtk.hpp.

4897 {
4899 return parameter_list_.size();
4900 else
4901 return 0;
4902 }

References exprtk::results_context< T >::parameter_list_, and exprtk::results_context< T >::results_available_.

Referenced by expression_processor< T >::print_results(), expression_processor< T >::process(), result_equal(), and results_to_string().

Here is the caller graph for this function:

◆ get_scalar()

template<typename T >
bool exprtk::results_context< T >::get_scalar ( const std::size_t &  index,
T &  out 
) const
inline

Definition at line 4914 of file exprtk.hpp.

4915 {
4916 if (
4917 (index < parameter_list_.size()) &&
4919 )
4920 {
4921 const scalar_t scalar(parameter_list_[index]);
4922 out = scalar();
4923 return true;
4924 }
4925
4926 return false;
4927 }
type_store_t::scalar_view scalar_t
Definition exprtk.hpp:4888

References exprtk::type_store< T >::e_scalar, and exprtk::results_context< T >::parameter_list_.

◆ get_string()

template<typename T >
bool exprtk::results_context< T >::get_string ( const std::size_t &  index,
std::string &  out 
) const
inline

Definition at line 4954 of file exprtk.hpp.

4955 {
4956 if (
4957 (index < parameter_list_.size()) &&
4959 )
4960 {
4961 const string_t str(parameter_list_[index]);
4962 out.assign(str.begin(),str.size());
4963 return true;
4964 }
4965
4966 return false;
4967 }
type_store_t::string_view string_t
Definition exprtk.hpp:4890

References exprtk::type_store< T >::type_view< ViewType >::begin(), exprtk::type_store< T >::e_string, exprtk::results_context< T >::parameter_list_, and exprtk::type_store< T >::type_view< ViewType >::size().

Here is the call graph for this function:

◆ get_vector() [1/2]

template<typename T >
template<typename OutputIterator >
bool exprtk::results_context< T >::get_vector ( const std::size_t &  index,
OutputIterator  out_itr 
) const
inline

Definition at line 4930 of file exprtk.hpp.

4931 {
4932 if (
4933 (index < parameter_list_.size()) &&
4935 )
4936 {
4937 const vector_t vector(parameter_list_[index]);
4938 for (std::size_t i = 0; i < vector.size(); ++i)
4939 {
4940 *(out_itr++) = vector[i];
4941 }
4942
4943 return true;
4944 }
4945
4946 return false;
4947 }
type_store_t::vector_view vector_t
Definition exprtk.hpp:4889

References exprtk::type_store< T >::e_vector, exprtk::results_context< T >::parameter_list_, and exprtk::type_store< T >::type_view< ViewType >::size().

Referenced by exprtk::results_context< T >::get_vector().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_vector() [2/2]

template<typename T >
bool exprtk::results_context< T >::get_vector ( const std::size_t &  index,
std::vector< T > &  out 
) const
inline

Definition at line 4949 of file exprtk.hpp.

4950 {
4951 return get_vector(index,std::back_inserter(out));
4952 }
bool get_vector(const std::size_t &index, OutputIterator out_itr) const
Definition exprtk.hpp:4930

References exprtk::results_context< T >::get_vector().

Here is the call graph for this function:

◆ operator[]() [1/2]

template<typename T >
type_store_t & exprtk::results_context< T >::operator[] ( const std::size_t &  index)
inline

Definition at line 4904 of file exprtk.hpp.

4905 {
4906 return parameter_list_[index];
4907 }

References exprtk::results_context< T >::parameter_list_.

◆ operator[]() [2/2]

template<typename T >
const type_store_t & exprtk::results_context< T >::operator[] ( const std::size_t &  index) const
inline

Definition at line 4909 of file exprtk.hpp.

4910 {
4911 return parameter_list_[index];
4912 }

References exprtk::results_context< T >::parameter_list_.

Friends And Related Symbol Documentation

◆ details::return_envelope_node< T >

template<typename T >
friend class details::return_envelope_node< T >
friend

Definition at line 4986 of file exprtk.hpp.

◆ details::return_node< T >

template<typename T >
friend class details::return_node< T >
friend

Definition at line 4986 of file exprtk.hpp.

Member Data Documentation

◆ parameter_list_

template<typename T >
ts_list_t exprtk::results_context< T >::parameter_list_
private

◆ results_available_

template<typename T >
bool exprtk::results_context< T >::results_available_
private

The documentation for this class was generated from the following file: