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

Public Types

typedef Type * ptr_t
 

Public Member Functions

 scoped_vec_delete (parser< T > &pr, std::vector< ptr_t > &vec)
 
 ~scoped_vec_delete ()
 
ptr_t operator[] (const std::size_t index)
 

Public Attributes

bool delete_ptr
 
parser< T > & parser_
 
std::vector< ptr_t > & vec_
 

Private Member Functions

 scoped_vec_delete (const scoped_vec_delete< Type > &)
 
scoped_vec_delete< Type > & operator= (const scoped_vec_delete< Type > &)
 

Detailed Description

template<typename T>
template<typename Type>
struct exprtk::parser< T >::scoped_vec_delete< Type >

Definition at line 25866 of file exprtk.hpp.

Member Typedef Documentation

◆ ptr_t

template<typename T >
template<typename Type >
typedef Type* exprtk::parser< T >::scoped_vec_delete< Type >::ptr_t

Definition at line 25868 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ scoped_vec_delete() [1/2]

template<typename T >
template<typename Type >
exprtk::parser< T >::scoped_vec_delete< Type >::scoped_vec_delete ( parser< T > &  pr,
std::vector< ptr_t > &  vec 
)
inline

Definition at line 25870 of file exprtk.hpp.

25871 : delete_ptr(true)
25872 , parser_(pr)
25873 , vec_(vec)
25874 {}
std::vector< ptr_t > & vec_
Definition exprtk.hpp:25897

◆ ~scoped_vec_delete()

template<typename T >
template<typename Type >
exprtk::parser< T >::scoped_vec_delete< Type >::~scoped_vec_delete ( )
inline

Definition at line 25876 of file exprtk.hpp.

25877 {
25878 if (delete_ptr && !vec_.empty())
25879 {
25880 for (std::size_t i = 0; i < vec_.size(); ++i)
25881 {
25882 exprtk_debug(("~scoped_vec_delete() - deleting node: %p\n", reinterpret_cast<void*>(vec_[i])));
25883 free_node(parser_.node_allocator_,vec_[i]);
25884 }
25885
25886 vec_.clear();
25887 }
25888 }
#define exprtk_debug(params)
Definition exprtk.hpp:64
void free_node(NodeAllocator &, expression_node< T > *&node)
Definition exprtk.hpp:6152

References exprtk::parser< T >::scoped_vec_delete< Type >::delete_ptr, exprtk_debug, exprtk::parser< T >::scoped_vec_delete< Type >::parser_, and exprtk::parser< T >::scoped_vec_delete< Type >::vec_.

◆ scoped_vec_delete() [2/2]

template<typename T >
template<typename Type >
exprtk::parser< T >::scoped_vec_delete< Type >::scoped_vec_delete ( const scoped_vec_delete< Type > &  )
private

Member Function Documentation

◆ operator=()

template<typename T >
template<typename Type >
scoped_vec_delete< Type > & exprtk::parser< T >::scoped_vec_delete< Type >::operator= ( const scoped_vec_delete< Type > &  )
private

◆ operator[]()

template<typename T >
template<typename Type >
ptr_t exprtk::parser< T >::scoped_vec_delete< Type >::operator[] ( const std::size_t  index)
inline

Definition at line 25890 of file exprtk.hpp.

25891 {
25892 return vec_[index];
25893 }

References exprtk::parser< T >::scoped_vec_delete< Type >::vec_.

Member Data Documentation

◆ delete_ptr

template<typename T >
template<typename Type >
bool exprtk::parser< T >::scoped_vec_delete< Type >::delete_ptr

◆ parser_

template<typename T >
template<typename Type >
parser<T>& exprtk::parser< T >::scoped_vec_delete< Type >::parser_

◆ vec_

template<typename T >
template<typename Type >
std::vector<ptr_t>& exprtk::parser< T >::scoped_vec_delete< Type >::vec_

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