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_delete< Type, N > Struct Template Reference

Public Types

typedef Type * ptr_t
 

Public Member Functions

 scoped_delete (parser< T > &pr, ptr_t &p)
 
 scoped_delete (parser< T > &pr, ptr_t(&p)[N])
 
 ~scoped_delete ()
 

Public Attributes

bool delete_ptr
 
parser< T > & parser_
 
ptr_tp_
 

Private Member Functions

 scoped_delete (const scoped_delete< Type, N > &)
 
scoped_delete< Type, N > & operator= (const scoped_delete< Type, N > &)
 

Detailed Description

template<typename T>
template<typename Type, std::size_t N>
struct exprtk::parser< T >::scoped_delete< Type, N >

Definition at line 25437 of file exprtk.hpp.

Member Typedef Documentation

◆ ptr_t

template<typename T >
template<typename Type , std::size_t N>
typedef Type* exprtk::parser< T >::scoped_delete< Type, N >::ptr_t

Definition at line 25439 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ scoped_delete() [1/3]

template<typename T >
template<typename Type , std::size_t N>
exprtk::parser< T >::scoped_delete< Type, N >::scoped_delete ( parser< T > &  pr,
ptr_t p 
)
inline

Definition at line 25441 of file exprtk.hpp.

25442 : delete_ptr(true)
25443 , parser_(pr)
25444 , p_(&p)
25445 {}

◆ scoped_delete() [2/3]

template<typename T >
template<typename Type , std::size_t N>
exprtk::parser< T >::scoped_delete< Type, N >::scoped_delete ( parser< T > &  pr,
ptr_t(&)  p[N] 
)
inline

Definition at line 25447 of file exprtk.hpp.

25448 : delete_ptr(true)
25449 , parser_(pr)
25450 , p_(&p[0])
25451 {}

◆ ~scoped_delete()

template<typename T >
template<typename Type , std::size_t N>
exprtk::parser< T >::scoped_delete< Type, N >::~scoped_delete ( )
inline

Definition at line 25453 of file exprtk.hpp.

25454 {
25455 if (delete_ptr)
25456 {
25457 for (std::size_t i = 0; i < N; ++i)
25458 {
25459 free_node(parser_.node_allocator_, p_[i]);
25460 }
25461 }
25462 }
void free_node(NodeAllocator &, expression_node< T > *&node)
Definition exprtk.hpp:6007

References exprtk::parser< T >::scoped_delete< Type, N >::delete_ptr, exprtk::parser< T >::scoped_delete< Type, N >::p_, and exprtk::parser< T >::scoped_delete< Type, N >::parser_.

◆ scoped_delete() [3/3]

template<typename T >
template<typename Type , std::size_t N>
exprtk::parser< T >::scoped_delete< Type, N >::scoped_delete ( const scoped_delete< Type, N > &  )
private

Member Function Documentation

◆ operator=()

template<typename T >
template<typename Type , std::size_t N>
scoped_delete< Type, N > & exprtk::parser< T >::scoped_delete< Type, N >::operator= ( const scoped_delete< Type, N > &  )
private

Member Data Documentation

◆ delete_ptr

template<typename T >
template<typename Type , std::size_t N>
bool exprtk::parser< T >::scoped_delete< Type, N >::delete_ptr

◆ p_

template<typename T >
template<typename Type , std::size_t N>
ptr_t* exprtk::parser< T >::scoped_delete< Type, N >::p_

◆ parser_

template<typename T >
template<typename Type , std::size_t N>
parser<T>& exprtk::parser< T >::scoped_delete< Type, N >::parser_

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