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_deq_delete< Type > Struct Template Reference

Public Types

typedef Type * ptr_t
 

Public Member Functions

 scoped_deq_delete (parser< T > &pr, std::deque< ptr_t > &deq)
 
 ~scoped_deq_delete ()
 

Public Attributes

bool delete_ptr
 
parser< T > & parser_
 
std::deque< ptr_t > & deq_
 

Private Member Functions

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

Detailed Description

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

Definition at line 25475 of file exprtk.hpp.

Member Typedef Documentation

◆ ptr_t

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

Definition at line 25477 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ scoped_deq_delete() [1/2]

template<typename T >
template<typename Type >
exprtk::parser< T >::scoped_deq_delete< Type >::scoped_deq_delete ( parser< T > &  pr,
std::deque< ptr_t > &  deq 
)
inline

Definition at line 25479 of file exprtk.hpp.

25480 : delete_ptr(true)
25481 , parser_(pr)
25482 , deq_(deq)
25483 {}
std::deque< ptr_t > & deq_
Definition exprtk.hpp:25501

◆ ~scoped_deq_delete()

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

Definition at line 25485 of file exprtk.hpp.

25486 {
25487 if (delete_ptr && !deq_.empty())
25488 {
25489 for (std::size_t i = 0; i < deq_.size(); ++i)
25490 {
25491 exprtk_debug(("~scoped_deq_delete() - deleting node: %p\n", reinterpret_cast<void*>(deq_[i])));
25492 free_node(parser_.node_allocator_,deq_[i]);
25493 }
25494
25495 deq_.clear();
25496 }
25497 }
#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_deq_delete< Type >::delete_ptr, exprtk::parser< T >::scoped_deq_delete< Type >::deq_, exprtk_debug, and exprtk::parser< T >::scoped_deq_delete< Type >::parser_.

◆ scoped_deq_delete() [2/2]

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

Member Function Documentation

◆ operator=()

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

Member Data Documentation

◆ delete_ptr

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

◆ deq_

template<typename T >
template<typename Type >
std::deque<ptr_t>& exprtk::parser< T >::scoped_deq_delete< Type >::deq_

◆ parser_

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

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