CUBRID Engine  latest
cubmem::appendable_array< T, S > Class Template Reference

#include <extensible_array.hpp>

Inheritance diagram for cubmem::appendable_array< T, S >:
Inheritance graph
Collaboration diagram for cubmem::appendable_array< T, S >:
Collaboration graph

Public Member Functions

 appendable_array (void)
 
 appendable_array (const block_allocator &allocator)
 
 ~appendable_array ()
 
void append (const T &source)
 
void append (const T *source, size_t length)
 
void copy (const T *source, size_t length)
 
void erase (size_t index)
 
size_t get_size (void) const
 
size_t get_memsize () const
 
- Public Member Functions inherited from cubmem::extensible_array< T, S >
void extend_by (size_t count)
 
void extend_to (size_t count)
 
const T * get_array (void) const
 

Private Types

using base_type = extensible_array< T, S >
 

Private Member Functions

void reset (void)
 
T * get_append_ptr ()
 

Private Attributes

size_t m_size
 

Additional Inherited Members

- Protected Member Functions inherited from cubmem::extensible_array< T, S >
T * get_data_ptr ()
 
size_t get_memsize_for_count (size_t count) const
 
- Protected Member Functions inherited from cubmem::extensible_stack_block< sizeof(T)*Size >
 extensible_stack_block ()
 
 extensible_stack_block (const block_allocator &alloc)
 
void extend_by (size_t additional_bytes)
 
void extend_to (size_t total_bytes)
 
char * get_ptr ()
 
const char * get_read_ptr () const
 

Detailed Description

template<typename T, size_t S>
class cubmem::appendable_array< T, S >

Definition at line 77 of file extensible_array.hpp.

Member Typedef Documentation

template<typename T, size_t S>
using cubmem::appendable_array< T, S >::base_type = extensible_array<T, S>
private

Definition at line 80 of file extensible_array.hpp.

Constructor & Destructor Documentation

template<typename T , size_t Size>
cubmem::appendable_array< T, Size >::appendable_array ( void  )

Definition at line 211 of file extensible_array.hpp.

template<typename T , size_t Size>
cubmem::appendable_array< T, Size >::appendable_array ( const block_allocator allocator)

Definition at line 219 of file extensible_array.hpp.

template<typename T , size_t Size>
cubmem::appendable_array< T, Size >::~appendable_array ( )

Definition at line 227 of file extensible_array.hpp.

Member Function Documentation

template<typename T , size_t Size>
void cubmem::appendable_array< T, Size >::append ( const T &  source)
inline
template<typename T , size_t Size>
void cubmem::appendable_array< T, Size >::append ( const T *  source,
size_t  length 
)
inline
template<typename T , size_t Size>
void cubmem::appendable_array< T, Size >::copy ( const T *  source,
size_t  length 
)
inline
template<typename T , size_t Size>
void cubmem::appendable_array< T, Size >::erase ( size_t  index)

Definition at line 269 of file extensible_array.hpp.

References cubmem::extensible_array< T, S >::get_data_ptr(), and cubmem::appendable_array< T, S >::m_size.

Referenced by mvcctable::compute_oldest_visible_mvccid().

Here is the caller graph for this function:

template<typename T , size_t Size>
T * cubmem::appendable_array< T, Size >::get_append_ptr ( )
inlineprivate
template<typename T , size_t S>
size_t cubmem::appendable_array< T, S >::get_memsize ( ) const
template<typename T , size_t Size>
size_t cubmem::appendable_array< T, Size >::get_size ( void  ) const
inline

Definition at line 286 of file extensible_array.hpp.

References cubmem::appendable_array< T, S >::m_size.

Referenced by mvcctable::compute_oldest_visible_mvccid(), and cubthread::worker_pool< Context >::core::start_all_workers().

Here is the caller graph for this function:

template<typename T , size_t Size>
void cubmem::appendable_array< T, Size >::reset ( void  )
inlineprivate

Definition at line 300 of file extensible_array.hpp.

References cubmem::appendable_array< T, S >::m_size.

Referenced by cubmem::appendable_array< T, S >::copy().

Here is the caller graph for this function:

Member Data Documentation


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