cppassist  1.0.0.f4fab4f962ff
C++ sanctuary for small but powerful and frequently required, stand alone features.
Public Types | Public Member Functions | Protected Attributes | List of all members
cppassist::vector< T, SIMD_SIZE > Class Template Reference

#include <cppassist/include/cppassist/simd/vector.h>

Public Types

using primitive_type = T
 
using value_type = value< primitive_type, simd_size >
 
using allocator = cppassist::aligned_allocator< value_type, simd_size *sizeof(primitive_type)>
 
using iterator = typename std::vector< value_type, allocator >::iterator
 
using const_iterator = typename std::vector< value_type, allocator >::const_iterator
 
using size_type = typename std::vector< value_type, allocator >::size_type
 
using reference = typename std::vector< value_type, allocator >::reference
 
using const_reference = typename std::vector< value_type, allocator >::const_reference
 

Public Member Functions

 vector ()
 
 vector (size_t count)
 
 vector (T *data, size_t count)
 
 vector (const vector &data)
 
 vector (vector &&data)
 
T * data ()
 
const T * data () const
 
size_t size () const
 
void resize (size_t size)
 
bool empty ()
 
void clear ()
 
size_t chunkSize () const
 
value< T, SIMD_SIZE > & chunk (size_t i)
 
const value< T, SIMD_SIZE > & chunk (size_t i) const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
T * valueBegin ()
 
const T * valueBegin () const
 
T * valueEnd ()
 
const T * valueEnd () const
 

Protected Attributes

size_t m_size
 
std::vector< value< T, simd_size >, allocatorm_data
 

Member Typedef Documentation

◆ primitive_type

template<typename T, size_t SIMD_SIZE = CPPASSIST_SIMD_SIZE>
using cppassist::vector< T, SIMD_SIZE >::primitive_type = T

◆ value_type

template<typename T, size_t SIMD_SIZE = CPPASSIST_SIMD_SIZE>
using cppassist::vector< T, SIMD_SIZE >::value_type = value<primitive_type, simd_size>

◆ allocator

template<typename T, size_t SIMD_SIZE = CPPASSIST_SIMD_SIZE>
using cppassist::vector< T, SIMD_SIZE >::allocator = cppassist::aligned_allocator<value_type, simd_size * sizeof(primitive_type)>

◆ iterator

template<typename T, size_t SIMD_SIZE = CPPASSIST_SIMD_SIZE>
using cppassist::vector< T, SIMD_SIZE >::iterator = typename std::vector<value_type, allocator>::iterator

◆ const_iterator

template<typename T, size_t SIMD_SIZE = CPPASSIST_SIMD_SIZE>
using cppassist::vector< T, SIMD_SIZE >::const_iterator = typename std::vector<value_type, allocator>::const_iterator

◆ size_type

template<typename T, size_t SIMD_SIZE = CPPASSIST_SIMD_SIZE>
using cppassist::vector< T, SIMD_SIZE >::size_type = typename std::vector<value_type, allocator>::size_type

◆ reference

template<typename T, size_t SIMD_SIZE = CPPASSIST_SIMD_SIZE>
using cppassist::vector< T, SIMD_SIZE >::reference = typename std::vector<value_type, allocator>::reference

◆ const_reference

template<typename T, size_t SIMD_SIZE = CPPASSIST_SIMD_SIZE>
using cppassist::vector< T, SIMD_SIZE >::const_reference = typename std::vector<value_type, allocator>::const_reference

Constructor & Destructor Documentation

◆ vector() [1/5]

template<typename T , size_t SIMD_SIZE>
cppassist::vector< T, SIMD_SIZE >::vector ( )

Referenced by cppassist::traverse_mt().

◆ vector() [2/5]

template<typename T , size_t SIMD_SIZE>
cppassist::vector< T, SIMD_SIZE >::vector ( size_t  count)

◆ vector() [3/5]

template<typename T, size_t SIMD_SIZE>
cppassist::vector< T, SIMD_SIZE >::vector ( T *  data,
size_t  count 
)

◆ vector() [4/5]

template<typename T, size_t SIMD_SIZE>
cppassist::vector< T, SIMD_SIZE >::vector ( const vector< T, SIMD_SIZE > &  data)

◆ vector() [5/5]

template<typename T, size_t SIMD_SIZE>
cppassist::vector< T, SIMD_SIZE >::vector ( vector< T, SIMD_SIZE > &&  data)

Member Function Documentation

◆ data() [1/2]

template<typename T , size_t SIMD_SIZE>
T * cppassist::vector< T, SIMD_SIZE >::data ( )

◆ data() [2/2]

template<typename T , size_t SIMD_SIZE>
const T * cppassist::vector< T, SIMD_SIZE >::data ( ) const

◆ size()

template<typename T , size_t SIMD_SIZE>
size_t cppassist::vector< T, SIMD_SIZE >::size ( ) const

◆ resize()

template<typename T , size_t SIMD_SIZE>
void cppassist::vector< T, SIMD_SIZE >::resize ( size_t  size)

◆ empty()

template<typename T , size_t SIMD_SIZE>
bool cppassist::vector< T, SIMD_SIZE >::empty ( )

◆ clear()

template<typename T , size_t SIMD_SIZE>
void cppassist::vector< T, SIMD_SIZE >::clear ( )

◆ chunkSize()

template<typename T , size_t SIMD_SIZE>
size_t cppassist::vector< T, SIMD_SIZE >::chunkSize ( ) const

◆ chunk() [1/2]

template<typename T , size_t SIMD_SIZE>
value< T, SIMD_SIZE > & cppassist::vector< T, SIMD_SIZE >::chunk ( size_t  i)

◆ chunk() [2/2]

template<typename T , size_t SIMD_SIZE>
const value< T, SIMD_SIZE > & cppassist::vector< T, SIMD_SIZE >::chunk ( size_t  i) const

◆ begin() [1/2]

template<typename T , size_t SIMD_SIZE>
vector< T, SIMD_SIZE >::iterator cppassist::vector< T, SIMD_SIZE >::begin ( )

◆ begin() [2/2]

template<typename T , size_t SIMD_SIZE>
vector< T, SIMD_SIZE >::const_iterator cppassist::vector< T, SIMD_SIZE >::begin ( ) const

◆ end() [1/2]

template<typename T , size_t SIMD_SIZE>
vector< T, SIMD_SIZE >::iterator cppassist::vector< T, SIMD_SIZE >::end ( )

◆ end() [2/2]

template<typename T , size_t SIMD_SIZE>
vector< T, SIMD_SIZE >::const_iterator cppassist::vector< T, SIMD_SIZE >::end ( ) const

◆ valueBegin() [1/2]

template<typename T , size_t SIMD_SIZE>
T * cppassist::vector< T, SIMD_SIZE >::valueBegin ( )

◆ valueBegin() [2/2]

template<typename T , size_t SIMD_SIZE>
const T * cppassist::vector< T, SIMD_SIZE >::valueBegin ( ) const

◆ valueEnd() [1/2]

template<typename T , size_t SIMD_SIZE>
T * cppassist::vector< T, SIMD_SIZE >::valueEnd ( )

◆ valueEnd() [2/2]

template<typename T , size_t SIMD_SIZE>
const T * cppassist::vector< T, SIMD_SIZE >::valueEnd ( ) const

Member Data Documentation

◆ m_size

template<typename T, size_t SIMD_SIZE = CPPASSIST_SIMD_SIZE>
size_t cppassist::vector< T, SIMD_SIZE >::m_size
protected

◆ m_data

template<typename T, size_t SIMD_SIZE = CPPASSIST_SIMD_SIZE>
std::vector<value<T, simd_size>, allocator> cppassist::vector< T, SIMD_SIZE >::m_data
protected

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