PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno::VectorND< T, N > Class Template Reference

#include <VectorND.h>

Public Types

typedef T value_type
 
typedef Titerator
 
typedef const Tconst_iterator
 
typedef Treference
 
typedef const Tconst_reference
 
typedef unsigned int size_type
 

Public Member Functions

DYN_FUNC VectorND ()
 
template<int NN = N, typename std::enable_if< NN==1, int >::type = 0>
DYN_FUNC VectorND (value_type r1)
 Specific constructor for 1-element vectors.
 
template<int NN = N, typename std::enable_if< NN==2, int >::type = 0>
DYN_FUNC VectorND (value_type r1, value_type r2)
 Specific constructor for 2-elements vectors.
 
template<int NN = N, typename std::enable_if< NN==3, int >::type = 0>
DYN_FUNC VectorND (value_type r1, value_type r2, value_type r3)
 Specific constructor for 3-elements vectors.
 
template<int NN = N, typename std::enable_if< NN==4, int >::type = 0>
DYN_FUNC VectorND (value_type r1, value_type r2, value_type r3, value_type r4)
 Specific constructor for 4-elements vectors.
 
template<int NN = N, typename std::enable_if< NN==5, int >::type = 0>
DYN_FUNC VectorND (value_type r1, value_type r2, value_type r3, value_type r4, value_type r5)
 Specific constructor for 5-elements vectors.
 
template<int NN = N, typename std::enable_if< NN==6, int >::type = 0>
DYN_FUNC VectorND (value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6)
 Specific constructor for 6-elements vectors.
 
template<int NN = N, typename std::enable_if< NN==7, int >::type = 0>
DYN_FUNC VectorND (value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6, value_type r7)
 Specific constructor for 7-elements vectors.
 
template<int NN = N, typename std::enable_if< NN==8, int >::type = 0>
DYN_FUNC VectorND (value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6, value_type r7, value_type r8)
 Specific constructor for 8-elements vectors.
 
template<int NN = N, typename std::enable_if< NN==9, int >::type = 0>
DYN_FUNC VectorND (value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6, value_type r7, value_type r8, value_type r9)
 Specific constructor for 9-elements vectors.
 
template<int NN = N, typename std::enable_if< NN==10, int >::type = 0>
DYN_FUNC VectorND (value_type r1, value_type r2, value_type r3, value_type r4, value_type r5, value_type r6, value_type r7, value_type r8, value_type r9, value_type r10)
 Specific constructor for 10-elements vectors.
 
DYN_FUNC iterator begin ()
 
DYN_FUNC const_iterator begin () const
 
DYN_FUNC iterator end ()
 
DYN_FUNC const_iterator end () const
 
DYN_FUNC reference operator[] (size_type i)
 
DYN_FUNC const_reference operator[] (size_type i) const
 
DYN_FUNC reference front ()
 
DYN_FUNC const_reference front () const
 
DYN_FUNC reference back ()
 
DYN_FUNC const_reference back () const
 
DYN_FUNC const TgetDataPtr () const
 
template<typename T2>
DYN_FUNC VectorND< T, N > & operator= (const VectorND< T2, N > &rhs)
 
DYN_FUNC void assign (const T &value)
 
DYN_FUNC bool operator< (const VectorND &v) const
 

Static Public Member Functions

static DYN_FUNC size_type size ()
 
static DYN_FUNC bool empty ()
 
static DYN_FUNC size_type max_size ()
 

Public Attributes

T data [N]
 

Friends

CPU_FUNC friend std::ostream & operator<< (std::ostream &out, const VectorND< T, N > &a)
 
CPU_FUNC friend std::istream & operator>> (std::istream &in, VectorND< T, N > &a)
 

Detailed Description

template<class T, unsigned int N>
class dyno::VectorND< T, N >

Definition at line 13 of file VectorND.h.

Member Typedef Documentation

◆ const_iterator

template<class T, unsigned int N>
typedef const T* dyno::VectorND< T, N >::const_iterator

Definition at line 19 of file VectorND.h.

◆ const_reference

template<class T, unsigned int N>
typedef const T& dyno::VectorND< T, N >::const_reference

Definition at line 21 of file VectorND.h.

◆ iterator

template<class T, unsigned int N>
typedef T* dyno::VectorND< T, N >::iterator

Definition at line 18 of file VectorND.h.

◆ reference

template<class T, unsigned int N>
typedef T& dyno::VectorND< T, N >::reference

Definition at line 20 of file VectorND.h.

◆ size_type

template<class T, unsigned int N>
typedef unsigned int dyno::VectorND< T, N >::size_type

Definition at line 22 of file VectorND.h.

◆ value_type

template<class T, unsigned int N>
typedef T dyno::VectorND< T, N >::value_type

Definition at line 17 of file VectorND.h.

Constructor & Destructor Documentation

◆ VectorND() [1/11]

template<class T, unsigned int N>
DYN_FUNC dyno::VectorND< T, N >::VectorND ( )
inline

Definition at line 24 of file VectorND.h.

◆ VectorND() [2/11]

template<class T, unsigned int N>
template<int NN = N, typename std::enable_if< NN==1, int >::type = 0>
DYN_FUNC dyno::VectorND< T, N >::VectorND ( value_type r1)
inlineexplicit

Specific constructor for 1-element vectors.

Definition at line 30 of file VectorND.h.

◆ VectorND() [3/11]

template<class T, unsigned int N>
template<int NN = N, typename std::enable_if< NN==2, int >::type = 0>
DYN_FUNC dyno::VectorND< T, N >::VectorND ( value_type r1,
value_type r2 )
inline

Specific constructor for 2-elements vectors.

Definition at line 38 of file VectorND.h.

◆ VectorND() [4/11]

template<class T, unsigned int N>
template<int NN = N, typename std::enable_if< NN==3, int >::type = 0>
DYN_FUNC dyno::VectorND< T, N >::VectorND ( value_type r1,
value_type r2,
value_type r3 )
inline

Specific constructor for 3-elements vectors.

Definition at line 47 of file VectorND.h.

◆ VectorND() [5/11]

template<class T, unsigned int N>
template<int NN = N, typename std::enable_if< NN==4, int >::type = 0>
DYN_FUNC dyno::VectorND< T, N >::VectorND ( value_type r1,
value_type r2,
value_type r3,
value_type r4 )
inline

Specific constructor for 4-elements vectors.

Definition at line 57 of file VectorND.h.

◆ VectorND() [6/11]

template<class T, unsigned int N>
template<int NN = N, typename std::enable_if< NN==5, int >::type = 0>
DYN_FUNC dyno::VectorND< T, N >::VectorND ( value_type r1,
value_type r2,
value_type r3,
value_type r4,
value_type r5 )
inline

Specific constructor for 5-elements vectors.

Definition at line 68 of file VectorND.h.

◆ VectorND() [7/11]

template<class T, unsigned int N>
template<int NN = N, typename std::enable_if< NN==6, int >::type = 0>
DYN_FUNC dyno::VectorND< T, N >::VectorND ( value_type r1,
value_type r2,
value_type r3,
value_type r4,
value_type r5,
value_type r6 )
inline

Specific constructor for 6-elements vectors.

Definition at line 80 of file VectorND.h.

◆ VectorND() [8/11]

template<class T, unsigned int N>
template<int NN = N, typename std::enable_if< NN==7, int >::type = 0>
DYN_FUNC dyno::VectorND< T, N >::VectorND ( value_type r1,
value_type r2,
value_type r3,
value_type r4,
value_type r5,
value_type r6,
value_type r7 )
inline

Specific constructor for 7-elements vectors.

Definition at line 93 of file VectorND.h.

◆ VectorND() [9/11]

template<class T, unsigned int N>
template<int NN = N, typename std::enable_if< NN==8, int >::type = 0>
DYN_FUNC dyno::VectorND< T, N >::VectorND ( value_type r1,
value_type r2,
value_type r3,
value_type r4,
value_type r5,
value_type r6,
value_type r7,
value_type r8 )
inline

Specific constructor for 8-elements vectors.

Definition at line 107 of file VectorND.h.

◆ VectorND() [10/11]

template<class T, unsigned int N>
template<int NN = N, typename std::enable_if< NN==9, int >::type = 0>
DYN_FUNC dyno::VectorND< T, N >::VectorND ( value_type r1,
value_type r2,
value_type r3,
value_type r4,
value_type r5,
value_type r6,
value_type r7,
value_type r8,
value_type r9 )
inline

Specific constructor for 9-elements vectors.

Definition at line 122 of file VectorND.h.

◆ VectorND() [11/11]

template<class T, unsigned int N>
template<int NN = N, typename std::enable_if< NN==10, int >::type = 0>
DYN_FUNC dyno::VectorND< T, N >::VectorND ( value_type r1,
value_type r2,
value_type r3,
value_type r4,
value_type r5,
value_type r6,
value_type r7,
value_type r8,
value_type r9,
value_type r10 )
inline

Specific constructor for 10-elements vectors.

Definition at line 138 of file VectorND.h.

Member Function Documentation

◆ assign()

template<class T, unsigned int N>
DYN_FUNC void dyno::VectorND< T, N >::assign ( const T & value)
inline

Definition at line 237 of file VectorND.h.

◆ back() [1/2]

template<class T, unsigned int N>
DYN_FUNC reference dyno::VectorND< T, N >::back ( )
inline

Definition at line 197 of file VectorND.h.

◆ back() [2/2]

template<class T, unsigned int N>
DYN_FUNC const_reference dyno::VectorND< T, N >::back ( ) const
inline

Definition at line 201 of file VectorND.h.

◆ begin() [1/2]

template<class T, unsigned int N>
DYN_FUNC iterator dyno::VectorND< T, N >::begin ( )
inline

Definition at line 155 of file VectorND.h.

◆ begin() [2/2]

template<class T, unsigned int N>
DYN_FUNC const_iterator dyno::VectorND< T, N >::begin ( ) const
inline

Definition at line 159 of file VectorND.h.

◆ empty()

template<class T, unsigned int N>
static DYN_FUNC bool dyno::VectorND< T, N >::empty ( )
inlinestatic

Definition at line 211 of file VectorND.h.

◆ end() [1/2]

template<class T, unsigned int N>
DYN_FUNC iterator dyno::VectorND< T, N >::end ( )
inline

Definition at line 163 of file VectorND.h.

◆ end() [2/2]

template<class T, unsigned int N>
DYN_FUNC const_iterator dyno::VectorND< T, N >::end ( ) const
inline

Definition at line 167 of file VectorND.h.

◆ front() [1/2]

template<class T, unsigned int N>
DYN_FUNC reference dyno::VectorND< T, N >::front ( )
inline

Definition at line 189 of file VectorND.h.

◆ front() [2/2]

template<class T, unsigned int N>
DYN_FUNC const_reference dyno::VectorND< T, N >::front ( ) const
inline

Definition at line 193 of file VectorND.h.

◆ getDataPtr()

template<class T, unsigned int N>
DYN_FUNC const T * dyno::VectorND< T, N >::getDataPtr ( ) const
inline

Definition at line 221 of file VectorND.h.

◆ max_size()

template<class T, unsigned int N>
static DYN_FUNC size_type dyno::VectorND< T, N >::max_size ( )
inlinestatic

Definition at line 215 of file VectorND.h.

◆ operator<()

template<class T, unsigned int N>
DYN_FUNC bool dyno::VectorND< T, N >::operator< ( const VectorND< T, N > & v) const
inline

Definition at line 261 of file VectorND.h.

◆ operator=()

template<class T, unsigned int N>
template<typename T2>
DYN_FUNC VectorND< T, N > & dyno::VectorND< T, N >::operator= ( const VectorND< T2, N > & rhs)
inline

Definition at line 228 of file VectorND.h.

◆ operator[]() [1/2]

template<class T, unsigned int N>
DYN_FUNC reference dyno::VectorND< T, N >::operator[] ( size_type i)
inline

Definition at line 173 of file VectorND.h.

◆ operator[]() [2/2]

template<class T, unsigned int N>
DYN_FUNC const_reference dyno::VectorND< T, N >::operator[] ( size_type i) const
inline

Definition at line 180 of file VectorND.h.

◆ size()

template<class T, unsigned int N>
static DYN_FUNC size_type dyno::VectorND< T, N >::size ( )
inlinestatic

Definition at line 207 of file VectorND.h.

Friends And Related Symbol Documentation

◆ operator<<

template<class T, unsigned int N>
CPU_FUNC friend std::ostream & operator<< ( std::ostream & out,
const VectorND< T, N > & a )
friend

Definition at line 245 of file VectorND.h.

◆ operator>>

template<class T, unsigned int N>
CPU_FUNC friend std::istream & operator>> ( std::istream & in,
VectorND< T, N > & a )
friend

Definition at line 254 of file VectorND.h.

Member Data Documentation

◆ data

template<class T, unsigned int N>
T dyno::VectorND< T, N >::data[N]

Definition at line 274 of file VectorND.h.


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