C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
exprtk::details::vector_holder< Type > Class Template Reference
Collaboration diagram for exprtk::details::vector_holder< Type >:
[legend]

Classes

class  array_vector_impl
 
class  resizable_vector_impl
 
class  sequence_vector_impl
 
class  vector_holder_base
 
class  vector_view_impl
 

Public Types

typedef details::vec_data_store< Type > vds_t
 

Public Member Functions

 vector_holder (Type *vec, const std::size_t &vec_size)
 
 vector_holder (const vds_t &vds)
 
template<typename Allocator >
 vector_holder (std::vector< Type, Allocator > &vec)
 
 vector_holder (exprtk::vector_view< Type > &vec)
 
 vector_holder (vector_holder_t &vec_holder, const vds_t &vds)
 
value_ptr operator[] (const std::size_t &index) const
 
std::size_t size () const
 
std::size_t base_size () const
 
value_ptr data () const
 
void set_ref (value_ptr *ref)
 
void remove_ref (value_ptr *ref)
 
bool rebaseable () const
 
vector_view< Type > * rebaseable_instance ()
 

Private Types

typedef Type value_type
 
typedef value_typevalue_ptr
 
typedef const value_ptr const_value_ptr
 
typedef vector_holder< Type > vector_holder_t
 

Private Member Functions

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

Private Attributes

vector_holder_basevector_holder_base_
 
uchar_t buffer [64]
 

Detailed Description

template<typename Type>
class exprtk::details::vector_holder< Type >

Definition at line 6267 of file exprtk.hpp.

Member Typedef Documentation

◆ const_value_ptr

template<typename Type >
typedef const value_ptr exprtk::details::vector_holder< Type >::const_value_ptr
private

Definition at line 6273 of file exprtk.hpp.

◆ value_ptr

template<typename Type >
typedef value_type* exprtk::details::vector_holder< Type >::value_ptr
private

Definition at line 6272 of file exprtk.hpp.

◆ value_type

template<typename Type >
typedef Type exprtk::details::vector_holder< Type >::value_type
private

Definition at line 6271 of file exprtk.hpp.

◆ vds_t

Definition at line 6516 of file exprtk.hpp.

◆ vector_holder_t

template<typename Type >
typedef vector_holder<Type> exprtk::details::vector_holder< Type >::vector_holder_t
private

Definition at line 6274 of file exprtk.hpp.

Constructor & Destructor Documentation

◆ vector_holder() [1/6]

template<typename Type >
exprtk::details::vector_holder< Type >::vector_holder ( Type *  vec,
const std::size_t &  vec_size 
)
inline

Definition at line 6518 of file exprtk.hpp.

6519 : vector_holder_base_(new(buffer)array_vector_impl(vec,vec_size))
6520 {}
vector_holder_base * vector_holder_base_
Definition exprtk.hpp:6590
bool match_impl(const Iterator pattern_begin, const Iterator pattern_end, const Iterator data_begin, const Iterator data_end, const typename std::iterator_traits< Iterator >::value_type &zero_or_more, const typename std::iterator_traits< Iterator >::value_type &exactly_one)
Definition exprtk.hpp:598

Referenced by exprtk::parser< T >::parse_vector().

Here is the caller graph for this function:

◆ vector_holder() [2/6]

template<typename Type >
exprtk::details::vector_holder< Type >::vector_holder ( const vds_t vds)
inlineexplicit

Definition at line 6522 of file exprtk.hpp.

6523 : vector_holder_base_(new(buffer)array_vector_impl(vds.data(),vds.size()))
6524 {}

◆ vector_holder() [3/6]

template<typename Type >
template<typename Allocator >
exprtk::details::vector_holder< Type >::vector_holder ( std::vector< Type, Allocator > &  vec)
inlineexplicit

Definition at line 6527 of file exprtk.hpp.

◆ vector_holder() [4/6]

template<typename Type >
exprtk::details::vector_holder< Type >::vector_holder ( exprtk::vector_view< Type > &  vec)
inlineexplicit

Definition at line 6531 of file exprtk.hpp.

6532 : vector_holder_base_(new(buffer)vector_view_impl(vec))
6533 {}

◆ vector_holder() [5/6]

template<typename Type >
exprtk::details::vector_holder< Type >::vector_holder ( vector_holder_t vec_holder,
const vds_t vds 
)
inlineexplicit

Definition at line 6535 of file exprtk.hpp.

6536 : vector_holder_base_(new(buffer)resizable_vector_impl(vec_holder, vds.data(), vds.size()))
6537 {}

◆ vector_holder() [6/6]

template<typename Type >
exprtk::details::vector_holder< Type >::vector_holder ( const vector_holder< Type > &  )
private

Member Function Documentation

◆ base_size()

template<typename Type >
std::size_t exprtk::details::vector_holder< Type >::base_size ( ) const
inline

◆ data()

template<typename Type >
value_ptr exprtk::details::vector_holder< Type >::data ( ) const
inline

◆ operator=()

template<typename Type >
vector_holder< Type > & exprtk::details::vector_holder< Type >::operator= ( const vector_holder< Type > &  )
private

◆ operator[]()

template<typename Type >
value_ptr exprtk::details::vector_holder< Type >::operator[] ( const std::size_t &  index) const
inline

Definition at line 6539 of file exprtk.hpp.

6540 {
6541 return (*vector_holder_base_)[index];
6542 }

References exprtk::details::vector_holder< Type >::vector_holder_base_.

◆ rebaseable()

template<typename Type >
bool exprtk::details::vector_holder< Type >::rebaseable ( ) const
inline

Definition at line 6575 of file exprtk.hpp.

6576 {
6578 }

References exprtk::details::vector_holder< Type >::vector_holder_base::rebaseable(), and exprtk::details::vector_holder< Type >::vector_holder_base_.

Referenced by exprtk::details::make_memory_context(), exprtk::parser< T >::parse_define_vector_statement(), exprtk::parser< T >::parse_vector(), exprtk::details::vector_holder< Type >::remove_ref(), exprtk::details::vector_holder< Type >::set_ref(), and exprtk::parser< T >::expression_generator< Type >::vector_element().

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

◆ rebaseable_instance()

template<typename Type >
vector_view< Type > * exprtk::details::vector_holder< Type >::rebaseable_instance ( )
inline

Definition at line 6580 of file exprtk.hpp.

6581 {
6583 }
virtual vector_view< Type > * rebaseable_instance()
Definition exprtk.hpp:6314

References exprtk::details::vector_holder< Type >::vector_holder_base::rebaseable_instance(), and exprtk::details::vector_holder< Type >::vector_holder_base_.

Here is the call graph for this function:

◆ remove_ref()

template<typename Type >
void exprtk::details::vector_holder< Type >::remove_ref ( value_ptr ref)
inline

Definition at line 6567 of file exprtk.hpp.

6568 {
6569 if (rebaseable())
6570 {
6572 }
6573 }

References exprtk::details::vector_holder< Type >::rebaseable(), exprtk::details::vector_holder< Type >::vector_holder_base::remove_ref(), and exprtk::details::vector_holder< Type >::vector_holder_base_.

Referenced by exprtk::details::vector_node< T >::~vector_node().

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

◆ set_ref()

template<typename Type >
void exprtk::details::vector_holder< Type >::set_ref ( value_ptr ref)
inline

Definition at line 6559 of file exprtk.hpp.

6560 {
6561 if (rebaseable())
6562 {
6564 }
6565 }

References exprtk::details::vector_holder< Type >::rebaseable(), exprtk::details::vector_holder< Type >::vector_holder_base::set_ref(), and exprtk::details::vector_holder< Type >::vector_holder_base_.

Referenced by exprtk::details::vector_node< T >::vector_node().

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

◆ size()

template<typename Type >
std::size_t exprtk::details::vector_holder< Type >::size ( ) const
inline

Member Data Documentation

◆ buffer

template<typename Type >
uchar_t exprtk::details::vector_holder< Type >::buffer[64]
private

Definition at line 6591 of file exprtk.hpp.

◆ vector_holder_base_

template<typename Type >
vector_holder_base* exprtk::details::vector_holder< Type >::vector_holder_base_
mutableprivate

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