C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
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 5031 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 5125 of file exprtk.hpp.

◆ scalar_t

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

Definition at line 5036 of file exprtk.hpp.

◆ string_t

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

Definition at line 5038 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 5124 of file exprtk.hpp.

◆ type_store_t

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

Definition at line 5035 of file exprtk.hpp.

◆ vector_t

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

Definition at line 5037 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ results_context()

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

Definition at line 5040 of file exprtk.hpp.

5041 : results_available_(false)
5042 {}

References results_available_.

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 5119 of file exprtk.hpp.

5120 {
5121 results_available_ = false;
5122 }

References results_available_.

◆ count()

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

Definition at line 5044 of file exprtk.hpp.

5045 {
5047 return parameter_list_.size();
5048 else
5049 return 0;
5050 }

References parameter_list_, and results_available_.

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

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 5062 of file exprtk.hpp.

5063 {
5064 if (
5065 (index < parameter_list_.size()) &&
5067 )
5068 {
5070 out = scalar();
5071 return true;
5072 }
5073
5074 return false;
5075 }
type_store_t::scalar_view scalar_t
Definition exprtk.hpp:5036

References exprtk::type_store< T >::e_scalar, and 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 5102 of file exprtk.hpp.

5103 {
5104 if (
5105 (index < parameter_list_.size()) &&
5107 )
5108 {
5110 out.assign(str.begin(),str.size());
5111 return true;
5112 }
5113
5114 return false;
5115 }
void assign(const parameter_list_t &pl)
Definition exprtk.hpp:5127
type_store_t::string_view string_t
Definition exprtk.hpp:5038

References exprtk::type_store< T >::type_view< ViewType >::begin(), exprtk::type_store< T >::e_string, 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 5078 of file exprtk.hpp.

5079 {
5080 if (
5081 (index < parameter_list_.size()) &&
5083 )
5084 {
5086 for (std::size_t i = 0; i < vector.size(); ++i)
5087 {
5088 *(out_itr++) = vector[i];
5089 }
5090
5091 return true;
5092 }
5093
5094 return false;
5095 }
type_store_t::vector_view vector_t
Definition exprtk.hpp:5037

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

Referenced by 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 5097 of file exprtk.hpp.

5098 {
5100 }
bool get_vector(const std::size_t &index, OutputIterator out_itr) const
Definition exprtk.hpp:5078

References 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 5052 of file exprtk.hpp.

5053 {
5054 return parameter_list_[index];
5055 }

References 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 5057 of file exprtk.hpp.

5058 {
5059 return parameter_list_[index];
5060 }

References parameter_list_.

◆ details::return_envelope_node< T >

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

Definition at line 5134 of file exprtk.hpp.

References parameter_list_.

◆ details::return_node< T >

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

Definition at line 5134 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

Definition at line 5133 of file exprtk.hpp.

Referenced by assign(), clear(), count(), and results_context().


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