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 25510 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 25512 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 25514 of file exprtk.hpp.

25515 : delete_ptr(true)
25516 , parser_(pr)
25517 , vec_(vec)
25518 {}
std::vector< ptr_t > & vec_
Definition exprtk.hpp:25541

◆ ~scoped_vec_delete()

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

Definition at line 25520 of file exprtk.hpp.

25521 {
25522 if (delete_ptr && !vec_.empty())
25523 {
25524 for (std::size_t i = 0; i < vec_.size(); ++i)
25525 {
25526 exprtk_debug(("~scoped_vec_delete() - deleting node: %p\n", reinterpret_cast<void*>(vec_[i])));
25527 free_node(parser_.node_allocator_,vec_[i]);
25528 }
25529
25530 vec_.clear();
25531 }
25532 }
#define exprtk_debug(params)
Definition exprtk.hpp:64
void free_node(NodeAllocator &, expression_node< T > *&node)
Definition exprtk.hpp:6007

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

25535 {
25536 return vec_[index];
25537 }

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: