Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | Friends | List of all members
JTOOLS::JArray< 1, T > Class Template Reference

One dimensional array of template objects with fixed length. More...

#include <JArray.hh>

Inheritance diagram for JTOOLS::JArray< 1, T >:
JMATH::JMath< JArray< 1, T > > JLANG::JEquals< JArray< 1, T > >

Public Types

typedef const Tconst_pointer
 
typedef Tpointer
 
typedef const Tconst_iterator
 
typedef Titerator
 
typedef std::reverse_iterator
< const_iterator
const_reverse_iterator
 
typedef std::reverse_iterator
< iterator
reverse_iterator
 
typedef Treference
 
typedef const Tconst_reference
 
typedef unsigned int size_type
 
typedef JLANG::JClass< T >
::argument_type 
argument_type
 

Public Member Functions

 JArray ()
 Default constructor. More...
 
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...
 
 JArray (const T *p)
 Copy constructor. More...
 
 JArray (const JMultiKey< 1, T > &key)
 Copy constructor. More...
 
 JArray (const JMultiKey< 1, const T > &key)
 Copy constructor. More...
 
 JArray (argument_type x)
 Initialise constructor. More...
 
const_iterator begin () const
 get iterator to begin of data More...
 
const_iterator end () const
 get iterator to end of data More...
 
iterator begin ()
 get iterator to begin of data More...
 
iterator end ()
 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 begin of data More...
 
reverse_iterator rbegin ()
 get reverse iterator to begin of data More...
 
reverse_iterator rend ()
 get reverse iterator to end of data More...
 
const_reference operator[] (int index) const
 Get element at given index. More...
 
reference operator[] (int index)
 Get element at given index. More...
 
const_reference at (int index) const
 Get element at given index. More...
 
reference at (int index)
 Get element at given index. More...
 
const_pointer data () const
 Get pointer to data. More...
 
pointer data ()
 Get pointer to data. More...
 
JArraynegate ()
 Negate array. More...
 
JArrayadd (const JArray &array)
 Add array. More...
 
JArraysub (const JArray &array)
 Subtract array. More...
 
JArraymul (const double factor)
 Scale array. More...
 
JArraydiv (const double factor)
 Scale array. More...
 
bool equals (const JArray< N, T > &array) const
 Check equality. More...
 
JArray< 1, T > & mul (const JNullType &object)
 Multiply with object. More...
 

Static Public Member Functions

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

Static Public Attributes

static const unsigned int N = 1
 

Protected Attributes

T buffer [1]
 

Friends

JReaderoperator>> (JReader &in, JArray &buffer)
 Read array from input. More...
 
JWriteroperator<< (JWriter &out, const JArray &buffer)
 Write array to output. More...
 

Detailed Description

template<class T>
class JTOOLS::JArray< 1, T >

One dimensional array of template objects with fixed length.

The internal data structure consists of a standard C-array.

Definition at line 598 of file JArray.hh.

Member Typedef Documentation

template<class T >
typedef const T* JTOOLS::JArray< 1, T >::const_pointer

Definition at line 606 of file JArray.hh.

template<class T >
typedef T* JTOOLS::JArray< 1, T >::pointer

Definition at line 607 of file JArray.hh.

template<class T >
typedef const T* JTOOLS::JArray< 1, T >::const_iterator

Definition at line 608 of file JArray.hh.

template<class T >
typedef T* JTOOLS::JArray< 1, T >::iterator

Definition at line 609 of file JArray.hh.

template<class T >
typedef std::reverse_iterator<const_iterator> JTOOLS::JArray< 1, T >::const_reverse_iterator

Definition at line 610 of file JArray.hh.

template<class T >
typedef std::reverse_iterator<iterator> JTOOLS::JArray< 1, T >::reverse_iterator

Definition at line 611 of file JArray.hh.

template<class T >
typedef T& JTOOLS::JArray< 1, T >::reference

Definition at line 612 of file JArray.hh.

template<class T >
typedef const T& JTOOLS::JArray< 1, T >::const_reference

Definition at line 613 of file JArray.hh.

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

Definition at line 614 of file JArray.hh.

template<class T >
typedef JLANG::JClass<T>::argument_type JTOOLS::JArray< 1, T >::argument_type

Definition at line 615 of file JArray.hh.

Constructor & Destructor Documentation

template<class T >
JTOOLS::JArray< 1, T >::JArray ( )
inline

Default constructor.

Definition at line 621 of file JArray.hh.

622  {}
template<class T >
template<unsigned int M>
JTOOLS::JArray< 1, T >::JArray ( const JArray< M, T > &  array)
inline

Copy constructor.

Parameters
arrayarray

Definition at line 631 of file JArray.hh.

632  {
633  buffer[0] = array[0];
634  }
template<class T >
template<unsigned int M>
JTOOLS::JArray< 1, T >::JArray ( const JArray< M, const T > &  array)
inline

Copy constructor.

Parameters
arrayarray

Definition at line 643 of file JArray.hh.

644  {
645  buffer[0] = array[0];
646  }
template<class T >
JTOOLS::JArray< 1, T >::JArray ( const T p)
inline

Copy constructor.

Parameters
ppointer to data

Definition at line 654 of file JArray.hh.

655  {
656  buffer[0] = p[0];
657  }
template<class T >
JTOOLS::JArray< 1, T >::JArray ( const JMultiKey< 1, T > &  key)
inline

Copy constructor.

Parameters
keymulti-dimensional key

Definition at line 665 of file JArray.hh.

666  {
667  buffer[0] = key.first;
668  }
template<class T >
JTOOLS::JArray< 1, T >::JArray ( const JMultiKey< 1, const T > &  key)
inline

Copy constructor.

Parameters
keymulti-dimensional key

Definition at line 676 of file JArray.hh.

677  {
678  buffer[0] = key.first;
679  }
template<class T >
JTOOLS::JArray< 1, T >::JArray ( argument_type  x)
inline

Initialise constructor.

Parameters
xvalue;

Definition at line 687 of file JArray.hh.

688  {
689  buffer[0] = x;
690  }

Member Function Documentation

template<class T >
const_iterator JTOOLS::JArray< 1, T >::begin ( ) const
inline

get iterator to begin of data

Definition at line 693 of file JArray.hh.

template<class T >
const_iterator JTOOLS::JArray< 1, T >::end ( ) const
inline

get iterator to end of data

Definition at line 694 of file JArray.hh.

template<class T >
iterator JTOOLS::JArray< 1, T >::begin ( )
inline

get iterator to begin of data

Definition at line 697 of file JArray.hh.

template<class T >
iterator JTOOLS::JArray< 1, T >::end ( )
inline

get iterator to end of data

Definition at line 698 of file JArray.hh.

template<class T >
const_reverse_iterator JTOOLS::JArray< 1, T >::rbegin ( ) const
inline

get reverse iterator to begin of data

Definition at line 701 of file JArray.hh.

template<class T >
const_reverse_iterator JTOOLS::JArray< 1, T >::rend ( ) const
inline

get reverse iterator to begin of data

Definition at line 702 of file JArray.hh.

template<class T >
reverse_iterator JTOOLS::JArray< 1, T >::rbegin ( )
inline

get reverse iterator to begin of data

Definition at line 705 of file JArray.hh.

template<class T >
reverse_iterator JTOOLS::JArray< 1, T >::rend ( )
inline

get reverse iterator to end of data

Definition at line 706 of file JArray.hh.

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

Get element at given index.

Parameters
indexindex
Returns
element

Definition at line 715 of file JArray.hh.

716  {
717  return buffer[index];
718  }
template<class T >
reference JTOOLS::JArray< 1, T >::operator[] ( int  index)
inline

Get element at given index.

Parameters
indexindex
Returns
element

Definition at line 727 of file JArray.hh.

728  {
729  return buffer[index];
730  }
template<class T >
const_reference JTOOLS::JArray< 1, T >::at ( int  index) const
inline

Get element at given index.

Parameters
indexindex
Returns
element at index

Definition at line 739 of file JArray.hh.

740  {
741  if (index >= 0 && index < N)
742  return buffer[index];
743  else
744  throw JIndexOutOfRange("JArray<>::at()");
745  }
static const unsigned int N
Definition: JArray.hh:604
template<class T >
reference JTOOLS::JArray< 1, T >::at ( int  index)
inline

Get element at given index.

Parameters
indexindex
Returns
element at index

Definition at line 754 of file JArray.hh.

755  {
756  if (index >= 0 && index < N)
757  return buffer[index];
758  else
759  throw JIndexOutOfRange("JArray<>::at()");
760  }
static const unsigned int N
Definition: JArray.hh:604
template<class T >
const_pointer JTOOLS::JArray< 1, T >::data ( ) const
inline

Get pointer to data.

Returns
pointer to data

Definition at line 768 of file JArray.hh.

769  {
770  return buffer;
771  }
template<class T >
pointer JTOOLS::JArray< 1, T >::data ( )
inline

Get pointer to data.

Returns
pointer to data

Definition at line 779 of file JArray.hh.

780  {
781  return buffer;
782  }
template<class T >
static size_type JTOOLS::JArray< 1, T >::size ( )
inlinestatic

Get size of data.

Returns
size of data

Definition at line 790 of file JArray.hh.

791  {
792  return N;
793  }
static const unsigned int N
Definition: JArray.hh:604
template<class T >
JArray& JTOOLS::JArray< 1, T >::negate ( )
inline

Negate array.

Returns
this array

Definition at line 801 of file JArray.hh.

802  {
803  buffer[0] = -buffer[0];
804 
805  return *this;
806  }
template<class T >
JArray& JTOOLS::JArray< 1, T >::add ( const JArray< 1, T > &  array)
inline

Add array.

Parameters
arrayarray
Returns
this array

Definition at line 815 of file JArray.hh.

816  {
817  buffer[0] += array[0];
818 
819  return *this;
820  }
template<class T >
JArray& JTOOLS::JArray< 1, T >::sub ( const JArray< 1, T > &  array)
inline

Subtract array.

Parameters
arrayarray
Returns
this array

Definition at line 829 of file JArray.hh.

830  {
831  buffer[0] -= array[0];
832 
833  return *this;
834  }
template<class T >
JArray& JTOOLS::JArray< 1, T >::mul ( const double  factor)
inline

Scale array.

Parameters
factormultiplication factor
Returns
this array

Definition at line 843 of file JArray.hh.

844  {
845  buffer[0] *= factor;
846 
847  return *this;
848  }
template<class T >
JArray& JTOOLS::JArray< 1, T >::div ( const double  factor)
inline

Scale array.

Parameters
factordivision factor
Returns
this array

Definition at line 857 of file JArray.hh.

858  {
859  buffer[0] /= factor;
860 
861  return *this;
862  }
template<class T >
bool JTOOLS::JArray< 1, T >::equals ( const JArray< N, T > &  array) const
inline

Check equality.

Parameters
arrayarray
Returns
true if arrays are equal; else false

Definition at line 871 of file JArray.hh.

872  {
873  return buffer[0] == array[0];
874  }
JArray< 1, T > & JMATH::JMath< JArray< 1, T > , JNullType >::mul ( const JNullType object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 273 of file JMath.hh.

274  {
275  return static_cast<JFirst_t&>(*this) = JCalculator<JFirst_t>::calculator.mul(static_cast<const JFirst_t&>(*this), object);
276  }
Auxiliary class for arithmetic operations on objects.
Definition: JCalculator.hh:18

Friends And Related Function Documentation

template<class T >
JReader& operator>> ( JReader in,
JArray< 1, T > &  buffer 
)
friend

Read array from input.

Parameters
inreader
bufferarray
Returns
reader

Definition at line 884 of file JArray.hh.

885  {
886  return in >> buffer[0];
887  }
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
Definition: JSirene.sh:45
template<class T >
JWriter& operator<< ( JWriter out,
const JArray< 1, T > &  buffer 
)
friend

Write array to output.

Parameters
outwriter
bufferarray
Returns
writer

Definition at line 897 of file JArray.hh.

898  {
899  return out << buffer[0];
900  }

Member Data Documentation

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

Definition at line 604 of file JArray.hh.

template<class T >
T JTOOLS::JArray< 1, T >::buffer[1]
protected

Definition at line 903 of file JArray.hh.


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