DUECA/DUSIME
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
dueca::fixvector< N, T > Class Template Reference

Fixed-sized vector. More...

#include <fixvector.hxx>

Inheritance diagram for dueca::fixvector< N, T >:
Inheritance graph
[legend]

Public Types

typedef T value_type
 Type of the contained object.
 
typedef Tpointer
 Type of a pointer to the contained object.
 
typedef Treference
 Type of a reference to the contained object.
 
typedef const Tconst_reference
 Type of a reference to the contained object.
 
typedef const Tconst_pointer
 Type of a pointer to the contained object.
 
typedef pointer iterator
 Define the iterator type.
 
typedef const_pointer const_iterator
 Define the const iterator type.
 
typedef ::std::reverse_iterator< const_iteratorconst_reverse_iterator
 Define the reverse const iterator type.
 
typedef ::std::reverse_iterator< iteratorreverse_iterator
 Define the reverse iterator type.
 
typedef ::std::random_access_iterator_tag iterator_category
 Show random access is possible.
 
typedef ::size_t size_type
 Size of the underlying thing.
 
typedef ::std::ptrdiff_t difference_type
 Pointer difference.
 

Public Member Functions

 fixvector (const T &defval)
 constructor with default value for the data
 
 fixvector ()
 constructor without default value for the data
 
 fixvector (const fixvector< N, T > &other)
 copy constructor; copies the data
 
template<class InputIt >
 fixvector (InputIt first, InputIt last)
 construct from iterators
 
 ~fixvector ()
 destructor
 
 operator pointer (void)
 obtain a pointer directly to the data
 
 operator const_pointer (void) const
 obtain a const pointer directly to the data
 
iterator begin ()
 more-or-less stl-compatible iterator
 
iterator end ()
 more-or-less stl-compatible iterator
 
const_iterator begin () const
 more-or-less stl-compatible iterator
 
const_iterator end () const
 more-or-less stl-compatible iterator
 
size_t size () const
 size of the vector
 
fixvector< N, T > & operator= (const fixvector< N, T > &other)
 assignment operator
 
fixvector< N, T > & operator= (const T &val)
 assignment operator, to value type
 
bool operator== (const fixvector< N, T > &other) const
 equality test
 
bool operator!= (const fixvector< N, T > &other) const
 inequality test
 
template<typename idx_t >
const Toperator[] (idx_t ii) const
 access elements of the vector.
 
template<typename idx_t >
Toperator[] (idx_t ii)
 access elements of the vector.
 
void resize (size_t s)
 forced resize of the vector, is seldom possible, so may throw
 
const Tptr () const
 access as const pointer
 
Tptr ()
 access as pointer
 
reference front ()
 access first element
 
const_reference front () const
 access first element
 
reference back ()
 access last element
 
const_reference back () const
 access last element
 

Protected Attributes

T d [N]
 Data space.
 

Detailed Description

template<size_t N, typename T>
class dueca::fixvector< N, T >

Fixed-sized vector.

Implementing most stl-like interfaces, but using a fixed vector length; efficiently packed in DCO objects.

Constructor & Destructor Documentation

◆ fixvector()

template<size_t N, typename T >
dueca::fixvector< N, T >::fixvector ( const T & defval)
inline

constructor with default value for the data

Parameters
defvaldefault fill value

Member Function Documentation

◆ operator[]() [1/2]

template<size_t N, typename T >
template<typename idx_t >
const T & dueca::fixvector< N, T >::operator[] ( idx_t ii) const
inline

access elements of the vector.

Note that indexing is checked

◆ operator[]() [2/2]

template<size_t N, typename T >
template<typename idx_t >
T & dueca::fixvector< N, T >::operator[] ( idx_t ii)
inline

access elements of the vector.

Note that indexing is checked


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