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

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

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

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

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

25889 : delete_ptr(true)
25890 , parser_(pr)
25891 , p_(&p[0])
25892 {}

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

Here is the call graph for this function:

◆ ~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 25894 of file exprtk.hpp.

25895 {
25896 if (delete_ptr)
25897 {
25898 for (std::size_t i = 0; i < N; ++i)
25899 {
25900 free_node(parser_.node_allocator_, p_[i]);
25901 }
25902 }
25903 }

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

References exprtk_delete, and scoped_delete().

Here is the call graph for this function:

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

References exprtk_delete, and scoped_delete().

Here is the call graph for this function:

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_

Definition at line 25907 of file exprtk.hpp.

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

◆ parser_

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

Definition at line 25906 of file exprtk.hpp.

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


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