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 set_size_ref (std::size_t *ref)
 
void remove_ref (value_ptr *ref)
 
void remove_size_ref (std::size_t *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 6412 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 6418 of file exprtk.hpp.

◆ value_ptr

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

Definition at line 6417 of file exprtk.hpp.

◆ value_type

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

Definition at line 6416 of file exprtk.hpp.

◆ vds_t

Definition at line 6667 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 6419 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 6669 of file exprtk.hpp.

6670 : vector_holder_base_(new(buffer)array_vector_impl(vec,vec_size))
6671 {}
vector_holder_base * vector_holder_base_
Definition exprtk.hpp:6757
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:605

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

6674 : vector_holder_base_(new(buffer)array_vector_impl(vds.data(),vds.size()))
6675 {}

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

6683 : vector_holder_base_(new(buffer)vector_view_impl(vec))
6684 {}

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

6687 : vector_holder_base_(new(buffer)resizable_vector_impl(vec_holder, vds.data(), vds.size()))
6688 {}

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

6691 {
6692 return (*vector_holder_base_)[index];
6693 }

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

6743 {
6745 }

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 >::remove_size_ref(), exprtk::details::vector_holder< Type >::set_ref(), exprtk::details::vector_holder< Type >::set_size_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 6747 of file exprtk.hpp.

6748 {
6750 }
virtual vector_view< Type > * rebaseable_instance()
Definition exprtk.hpp:6465

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

6727 {
6728 if (rebaseable())
6729 {
6731 }
6732 }

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:

◆ remove_size_ref()

template<typename Type >
void exprtk::details::vector_holder< Type >::remove_size_ref ( std::size_t *  ref)
inline

Definition at line 6734 of file exprtk.hpp.

6735 {
6736 if (rebaseable())
6737 {
6739 }
6740 }

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

Here is the call graph for this function:

◆ set_ref()

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

Definition at line 6710 of file exprtk.hpp.

6711 {
6712 if (rebaseable())
6713 {
6715 }
6716 }

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:

◆ set_size_ref()

template<typename Type >
void exprtk::details::vector_holder< Type >::set_size_ref ( std::size_t *  ref)
inline

Definition at line 6718 of file exprtk.hpp.

6719 {
6720 if (rebaseable())
6721 {
6723 }
6724 }

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

Here is the call 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 6758 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: