Jpp  18.4.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
JTOOLS::JArray< N, const T > Class Template Reference

One dimensional read-only array of template objects with fixed length. More...

#include <JArray.hh>

Public Types

typedef const Tconst_pointer
 
typedef const Tconst_iterator
 
typedef std::reverse_iterator
< const_iterator
const_reverse_iterator
 
typedef const Tconst_reference
 
typedef unsigned int size_type
 

Public Member Functions

template<unsigned int M>
 JArray (const JArray< M, T > &array)
 Copy constructor. More...
 
template<unsigned int M>
 JArray (const JArray< M, const T > &array)
 Copy constructor. More...
 
const_iterator begin () const
 get iterator to begin of data More...
 
const_iterator end () const
 get iterator to end of data More...
 
const_reverse_iterator rbegin () const
 get reverse iterator to begin of data More...
 
const_reverse_iterator rend () const
 get reverse iterator to end of data More...
 
const_reference operator[] (int index) const
 Get element at given index. More...
 
const_reference at (int index) const
 Get element at given index. More...
 
const_pointer data () const
 Get pointer to data. More...
 
JArray< N-1, const Tpop_front () const
 Make a copy in which the first element is removed. More...
 
JArray< N-1, const Tpop_back () const
 Make a copy in which the last element is removed. More...
 

Static Public Member Functions

static size_type size ()
 Get size of data. More...
 

Protected Member Functions

 JArray (const T *__p)
 Constructor. More...
 

Protected Attributes

const_pointer p
 

Friends

class JArray< N+1, const T >
 
JWriteroperator<< (JWriter &out, const JArray &buffer)
 Write array to output. More...
 

Detailed Description

template<unsigned int N, class T>
class JTOOLS::JArray< N, const T >

One dimensional read-only array of template objects with fixed length.

The internal data structure consists of a simple C-pointer to the actual data. The user should ensure that the data are persistent.

Definition at line 1015 of file JArray.hh.

Member Typedef Documentation

template<unsigned int N, class T >
typedef const T* JTOOLS::JArray< N, const T >::const_pointer

Definition at line 1020 of file JArray.hh.

template<unsigned int N, class T >
typedef const T* JTOOLS::JArray< N, const T >::const_iterator

Definition at line 1021 of file JArray.hh.

template<unsigned int N, class T >
typedef std::reverse_iterator<const_iterator> JTOOLS::JArray< N, const T >::const_reverse_iterator

Definition at line 1022 of file JArray.hh.

template<unsigned int N, class T >
typedef const T& JTOOLS::JArray< N, const T >::const_reference

Definition at line 1023 of file JArray.hh.

template<unsigned int N, class T >
typedef unsigned int JTOOLS::JArray< N, const T >::size_type

Definition at line 1024 of file JArray.hh.

Constructor & Destructor Documentation

template<unsigned int N, class T >
template<unsigned int M>
JTOOLS::JArray< N, const T >::JArray ( const JArray< M, T > &  array)
inline

Copy constructor.

Parameters
arrayarray

Definition at line 1033 of file JArray.hh.

1033  :
1034  p(array.data())
1035  {
1036  STATIC_CHECK(M >= N);
1037  }
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
#define STATIC_CHECK(expr)
Definition: JAssert.hh:31
const_pointer data() const
Get pointer to data.
Definition: JArray.hh:284
template<unsigned int N, class T >
template<unsigned int M>
JTOOLS::JArray< N, const T >::JArray ( const JArray< M, const T > &  array)
inline

Copy constructor.

Parameters
arrayarray

Definition at line 1046 of file JArray.hh.

1046  :
1047  p(array.data())
1048  {
1049  STATIC_CHECK(M >= N);
1050  }
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
#define STATIC_CHECK(expr)
Definition: JAssert.hh:31
const_pointer data() const
Get pointer to data.
Definition: JArray.hh:284
template<unsigned int N, class T >
JTOOLS::JArray< N, const T >::JArray ( const T __p)
inlineprotected

Constructor.

Parameters
__ppointer to data

Definition at line 1157 of file JArray.hh.

1157  :
1158  p(__p)
1159  {}

Member Function Documentation

template<unsigned int N, class T >
const_iterator JTOOLS::JArray< N, const T >::begin ( ) const
inline

get iterator to begin of data

Definition at line 1053 of file JArray.hh.

template<unsigned int N, class T >
const_iterator JTOOLS::JArray< N, const T >::end ( ) const
inline

get iterator to end of data

Definition at line 1054 of file JArray.hh.

template<unsigned int N, class T >
const_reverse_iterator JTOOLS::JArray< N, const T >::rbegin ( ) const
inline

get reverse iterator to begin of data

Definition at line 1057 of file JArray.hh.

template<unsigned int N, class T >
const_reverse_iterator JTOOLS::JArray< N, const T >::rend ( ) const
inline

get reverse iterator to end of data

Definition at line 1058 of file JArray.hh.

template<unsigned int N, class T >
const_reference JTOOLS::JArray< N, const T >::operator[] ( int  index) const
inline

Get element at given index.

Parameters
indexindex
Returns
element at index

Definition at line 1067 of file JArray.hh.

1068  {
1069  return p[index];
1070  }
template<unsigned int N, class T >
const_reference JTOOLS::JArray< N, const T >::at ( int  index) const
inline

Get element at given index.

Parameters
indexindex
Returns
element at index

Definition at line 1079 of file JArray.hh.

1080  {
1081  if (index >= 0 && index < N)
1082  return p[index];
1083  else
1084  THROW(JIndexOutOfRange, "invalid index " << 0 << " <= " << index << " < " << N);
1085  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
template<unsigned int N, class T >
const_pointer JTOOLS::JArray< N, const T >::data ( ) const
inline

Get pointer to data.

Returns
pointer to data

Definition at line 1093 of file JArray.hh.

1094  {
1095  return p;
1096  }
template<unsigned int N, class T >
static size_type JTOOLS::JArray< N, const T >::size ( )
inlinestatic

Get size of data.

Returns
size of data

Definition at line 1104 of file JArray.hh.

1105  {
1106  return N;
1107  }
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
template<unsigned int N, class T >
JArray<N-1, const T> JTOOLS::JArray< N, const T >::pop_front ( ) const
inline

Make a copy in which the first element is removed.

Returns
array

Definition at line 1115 of file JArray.hh.

1116  {
1117  return JArray<N-1, const T>(p + 1);
1118  }
do set_variable OUTPUT_DIRECTORY $WORKDIR T
One dimensional array of template objects with fixed length.
Definition: JArray.hh:40
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
template<unsigned int N, class T >
JArray<N-1, const T> JTOOLS::JArray< N, const T >::pop_back ( ) const
inline

Make a copy in which the last element is removed.

Returns
array

Definition at line 1126 of file JArray.hh.

1127  {
1128  return JArray<N-1, const T>(p);
1129  }
do set_variable OUTPUT_DIRECTORY $WORKDIR T
One dimensional array of template objects with fixed length.
Definition: JArray.hh:40
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40

Friends And Related Function Documentation

template<unsigned int N, class T >
friend class JArray< N+1, const T >
friend

Definition at line 1018 of file JArray.hh.

template<unsigned int N, class T >
JWriter& operator<< ( JWriter out,
const JArray< N, const T > &  buffer 
)
friend

Write array to output.

Parameters
outwriter
bufferarray
Returns
writer

Definition at line 1139 of file JArray.hh.

1140  {
1141  for (const_iterator i = buffer.begin(); i != buffer.end(); ++i) {
1142  out << *i;
1143  }
1144 
1145  return out;
1146  }
const_iterator begin() const
get iterator to begin of data
Definition: JArray.hh:209
const_iterator end() const
get iterator to end of data
Definition: JArray.hh:210

Member Data Documentation

template<unsigned int N, class T >
const_pointer JTOOLS::JArray< N, const T >::p
protected

Definition at line 1150 of file JArray.hh.


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