BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
DArray< T, N > Class Template Reference

#include <pointer.h>

Public Types

typedef NIter< T, N > iterator

Public Member Functions

 DArray ()
iterator begin ()
iterator end ()
T & insert (const T &el)
void reset ()
const T & operator[] (const int idx) const
T & operator[] (const int idx)

Static Public Attributes

static const int size = N

Detailed Description

template<typename T, int N>
class DArray< T, N >

Definition at line 81 of file pointer.h.

Member Typedef Documentation

◆ iterator

template<typename T, int N>
typedef NIter<T, N> DArray< T, N >::iterator

Definition at line 85 of file pointer.h.

Constructor & Destructor Documentation

◆ DArray()

template<typename T, int N>
DArray< T, N >::DArray ( )
inline

Definition at line 83 of file pointer.h.

83: last( N ), len( 0 ) {}

Member Function Documentation

◆ begin()

template<typename T, int N>
iterator DArray< T, N >::begin ( )
inline

Definition at line 86 of file pointer.h.

86{ return iterator( elems, last ); }
NIter< T, N > iterator
Definition pointer.h:85

Referenced by getMinorN().

◆ end()

template<typename T, int N>
iterator DArray< T, N >::end ( )
inline

Definition at line 87 of file pointer.h.

87{ return iterator( elems, last + len ); }

Referenced by getMinorN().

◆ insert()

template<typename T, int N>
T & DArray< T, N >::insert ( const T & el)
inline

Definition at line 89 of file pointer.h.

89 {
90 len = ( len == N ? len : len + 1 );
91 last = ( ( last - 1 ) + N ) % N;
92 elems[last] = el;
93 return elems[last];
94 }

Referenced by getMinorN().

◆ operator[]() [1/2]

template<typename T, int N>
T & DArray< T, N >::operator[] ( const int idx)
inline

Definition at line 126 of file pointer.h.

126{ return elems[idx]; }

◆ operator[]() [2/2]

template<typename T, int N>
const T & DArray< T, N >::operator[] ( const int idx) const
inline

Definition at line 125 of file pointer.h.

125{ return elems[idx]; }

◆ reset()

template<typename T, int N>
void DArray< T, N >::reset ( )
inline

Definition at line 116 of file pointer.h.

116 {
117# ifndef USE_DIRTY_RESET
118 for ( int i = 0; i < len; i++ ) { elems[i] = T(); }
119# endif
120 last = N;
121 len = 0;
122 }

Member Data Documentation

◆ size

template<typename T, int N>
const int DArray< T, N >::size = N
static

Definition at line 124 of file pointer.h.


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