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

25956 : delete_ptr(true)
25957 , parser_(pr)
25958 , vec_(vec)
25959 {}
std::vector< ptr_t > & vec_
Definition exprtk.hpp:25982

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

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

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

◆ ~scoped_vec_delete()

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

Definition at line 25961 of file exprtk.hpp.

25962 {
25963 if (delete_ptr && !vec_.empty())
25964 {
25965 for (std::size_t i = 0; i < vec_.size(); ++i)
25966 {
25967 exprtk_debug(("~scoped_vec_delete() - deleting node: %p\n", reinterpret_cast<void*>(vec_[i])));
25968 free_node(parser_.node_allocator_,vec_[i]);
25969 }
25970
25971 vec_.clear();
25972 }
25973 }
#define exprtk_debug(params)
Definition exprtk.hpp:64

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

References exprtk_delete, and scoped_vec_delete().

Here is the call graph for this function:

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

References exprtk_delete, and scoped_vec_delete().

Here is the call graph for this function:

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

25976 {
25977 return vec_[index];
25978 }

References vec_.

Member Data Documentation

◆ delete_ptr

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

Definition at line 25980 of file exprtk.hpp.

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

◆ parser_

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

Definition at line 25981 of file exprtk.hpp.

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

◆ vec_

template<typename T>
template<typename Type>
std::vector<ptr_t>& exprtk::parser< T >::scoped_vec_delete< Type >::vec_

Definition at line 25982 of file exprtk.hpp.

Referenced by operator[](), scoped_vec_delete(), and ~scoped_vec_delete().


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