CbmRoot
Loading...
Searching...
No Matches
cbm::algo::kf::Vector< T, Allocator > Class Template Reference

A std::vector with additional debugging utility set. More...

#include <KfVector.h>

Inheritance diagram for cbm::algo::kf::Vector< T, Allocator >:
[legend]
Collaboration diagram for cbm::algo::kf::Vector< T, Allocator >:
[legend]

Public Types

using BaseVector_t = std::vector<T, Allocator>
 

Public Member Functions

template<typename... Args>
 Vector (Args... values)
 Generic constructor from parameters.
 
 Vector (const Vector &other)
 Copy constructor.
 
 Vector (Vector &&other)
 Move constructor.
 
Vectoroperator= (const Vector &other)=default
 Copy assignment operator.
 
Vectoroperator= (Vector &&other)=default
 Move assignment operator.
 
template<bool CheckBoundaries = false>
T & at (std::size_t pos)
 Access operator overload.
 
template<bool CheckBoundaries = false>
const T & at (std::size_t pos) const
 Constant access operator overload.
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int)
 

Friends

class boost::serialization::access
 Serialization method.
 

Detailed Description

template<class T, class Allocator = std::allocator<T>>
class cbm::algo::kf::Vector< T, Allocator >

A std::vector with additional debugging utility set.

Definition at line 28 of file KfVector.h.

Member Typedef Documentation

◆ BaseVector_t

template<class T , class Allocator = std::allocator<T>>
using cbm::algo::kf::Vector< T, Allocator >::BaseVector_t = std::vector<T, Allocator>

Definition at line 30 of file KfVector.h.

Constructor & Destructor Documentation

◆ Vector() [1/3]

template<class T , class Allocator = std::allocator<T>>
template<typename... Args>
cbm::algo::kf::Vector< T, Allocator >::Vector ( Args... values)
inline

Generic constructor from parameters.

Definition at line 34 of file KfVector.h.

◆ Vector() [2/3]

template<class T , class Allocator = std::allocator<T>>
cbm::algo::kf::Vector< T, Allocator >::Vector ( const Vector< T, Allocator > & other)
inline

Copy constructor.

Definition at line 39 of file KfVector.h.

◆ Vector() [3/3]

template<class T , class Allocator = std::allocator<T>>
cbm::algo::kf::Vector< T, Allocator >::Vector ( Vector< T, Allocator > && other)
inline

Move constructor.

Definition at line 42 of file KfVector.h.

Member Function Documentation

◆ at() [1/2]

template<class T , class Allocator = std::allocator<T>>
template<bool CheckBoundaries = false>
T & cbm::algo::kf::Vector< T, Allocator >::at ( std::size_t pos)
inline

Access operator overload.

Definition at line 54 of file KfVector.h.

References pos, and size().

◆ at() [2/2]

template<class T , class Allocator = std::allocator<T>>
template<bool CheckBoundaries = false>
const T & cbm::algo::kf::Vector< T, Allocator >::at ( std::size_t pos) const
inline

Constant access operator overload.

Definition at line 71 of file KfVector.h.

References pos, and size().

◆ operator=() [1/2]

template<class T , class Allocator = std::allocator<T>>
Vector & cbm::algo::kf::Vector< T, Allocator >::operator= ( const Vector< T, Allocator > & other)
default

Copy assignment operator.

◆ operator=() [2/2]

template<class T , class Allocator = std::allocator<T>>
Vector & cbm::algo::kf::Vector< T, Allocator >::operator= ( Vector< T, Allocator > && other)
default

Move assignment operator.

◆ serialize()

template<class T , class Allocator = std::allocator<T>>
template<class Archive >
void cbm::algo::kf::Vector< T, Allocator >::serialize ( Archive & ar,
const unsigned int  )
inlineprivate

Definition at line 90 of file KfVector.h.

Friends And Related Symbol Documentation

◆ boost::serialization::access

template<class T , class Allocator = std::allocator<T>>
friend class boost::serialization::access
friend

Serialization method.

Definition at line 88 of file KfVector.h.


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