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

25921 : delete_ptr(true)
25922 , parser_(pr)
25923 , deq_(deq)
25924 {}
std::deque< ptr_t > & deq_
Definition exprtk.hpp:25942

References delete_ptr, deq_, exprtk::parser< T >::parser(), and parser_.

Referenced by operator=(), and scoped_deq_delete().

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

◆ ~scoped_deq_delete()

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

Definition at line 25926 of file exprtk.hpp.

25927 {
25928 if (delete_ptr && !deq_.empty())
25929 {
25930 for (std::size_t i = 0; i < deq_.size(); ++i)
25931 {
25932 exprtk_debug(("~scoped_deq_delete() - deleting node: %p\n", reinterpret_cast<void*>(deq_[i])));
25933 free_node(parser_.node_allocator_,deq_[i]);
25934 }
25935
25936 deq_.clear();
25937 }
25938 }
#define exprtk_debug(params)
Definition exprtk.hpp:64

References delete_ptr, deq_, exprtk_debug, and 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

References exprtk_delete, and scoped_deq_delete().

Here is the call graph for this function:

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

References exprtk_delete, and scoped_deq_delete().

Here is the call graph for this function:

Member Data Documentation

◆ delete_ptr

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

Definition at line 25940 of file exprtk.hpp.

Referenced by scoped_deq_delete(), and ~scoped_deq_delete().

◆ deq_

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

Definition at line 25942 of file exprtk.hpp.

Referenced by scoped_deq_delete(), and ~scoped_deq_delete().

◆ parser_

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

Definition at line 25941 of file exprtk.hpp.

Referenced by scoped_deq_delete(), and ~scoped_deq_delete().


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