Itbl Class Reference
[Utilities.]

Basic integer array class. More...

#include <itbl.h>

List of all members.

Public Member Functions

 Itbl (int size0)
 1D constructor.
 Itbl (int size1, int size0)
 2D constructor.
 Itbl (int size2, int size1, int size0)
 3D constructor This constructor sets the Itbl in the logical state ETATQCQ , so that it is ready for initialization via the method set(int, int, int ) .
 Itbl (const Dim_tbl &)
 Constructor from a Dim_tbl .
 Itbl (FILE *)
 Constructor from a file (see sauve(FILE* ) ).
 Itbl (const Itbl &)
 Copy constructor.
 ~Itbl ()
 Destructor.
void operator= (const Itbl &)
 Assignment to another Itbl.
void operator= (int)
 Assignment to a int.
void set_etat_nondef ()
 Sets the logical state to ETATNONDEF (undefined).
void set_etat_zero ()
 Sets the logical state to ETATZERO (zero).
void set_etat_qcq ()
 Sets the logical state to ETATQCQ (ordinary state).
void annule_hard ()
 Sets the Itbl to zero in a hard way.
int & set (int i)
 Read/write of a particular element (index i ) (1D case).
int operator() (int i) const
 Read-only of a particular element (index i ) (1D case).
int & set (int j, int i)
 Read/write of a particular element (index (j,i) ) (2D case).
int operator() (int j, int i) const
 Read-only of a particular element (index (j,i) ) (2D case).
int & set (int k, int j, int i)
 Read/write of a particular element (index (k,j,i) ) (3D case).
int operator() (int k, int j, int i) const
 Read-only of a particular element (index (k,j,i) ) (3D case).
int get_etat () const
 Gives the logical state.
int get_taille () const
 Gives the total size (ie dim.taille ).
int get_ndim () const
 Gives the number of dimensions (ie dim.ndim ).
int get_dim (int i) const
 Gives the i th dimension (ie {tt dim.dim[i] ).
void sauve (FILE *) const
 Save in a file.
void operator+= (const Itbl &)
 Addition of a Itbl to this.
void operator+= (int)
 Addition of a int to this.
void operator-= (const Itbl &)
 Subtraction of a Itbl to this.
void operator-= (int)
 Subtraction of a int to this.
void operator*= (const Itbl &)
 Multiplication of this by a Itbl.
void operator*= (int)
 Multiplication of this by a int.

Public Attributes

Dim_tbl dim
 Number of dimensions, size,...
int * t
 The array of int 's.

Private Member Functions

void del_t ()
 Logical destructor: dellocates the memory occupied by the array t and sets the logical state to ETATNONDEF.

Private Attributes

int etat
 logical state (ETATNONDEF , ETATQCQ or ETATZERO ).

Friends

ostream & operator<< (ostream &, const Itbl &)
 Display.

Detailed Description

Basic integer array class.

This class is essentially an int array class. The elements of the array are stored continuously using the C convention.

The general logical state of an initialized Itbl is ETATQCQ ; it is the only state for which the memory allocation is performed for the int array t . The value zero is treated as a special logical state (ETATZERO ), without any memory allocation.

Contrary to a Tbl , an Itbl is initialy created in a logical state ETATQCQ (i.e. ordinary state, with memory allocated for the array t ).

Arithmetic operations are provided with the usual meaning (see below).

A 1D Itbl can be of dimension 0 (size 0). Its logical state is then ETATZERO (by convention).

()

Definition at line 118 of file itbl.h.


Constructor & Destructor Documentation

Itbl::Itbl ( int  size0  )  [explicit]

1D constructor.

This constructor sets the Itbl in the logical state ETATQCQ , so that it is ready for initialization via the method set(int ) .

Parameters:
size0 [input] Number of elements of the array t . Will be assigned to dim.dim[0] . The size 0 is allowed (the corresponding logical state will be then ETATZERO).

Definition at line 93 of file itbl.C.

References etat, and t.

Itbl::Itbl ( int  size1,
int  size0 
)

2D constructor.

This constructor sets the Itbl in the logical state ETATQCQ , so that it is ready for initialization via the method set(int, int ) .

Parameters:
size1 [input] Defines the range [0, size1-1] of the outermost index in the storage of the array t . Will be assigned to dim.dim[1] .
size0 [input] Defines the range [0, size0-1] of the innermost index in the storage of the array t . Will be assigned to dim.dim[0] .

Definition at line 106 of file itbl.C.

References get_taille(), and t.

Itbl::Itbl ( int  size2,
int  size1,
int  size0 
)

3D constructor This constructor sets the Itbl in the logical state ETATQCQ , so that it is ready for initialization via the method set(int, int, int ) .

Parameters:
size2 [input] Defines the range [0, size2-1] of the outermost index in the storage of the array t . Will be assigned to dim.dim[2] .
size1 [input] Defines the range [0, size1-1] of the intermediate index in the storage of the array t . Will be assigned to dim.dim[1] .
size0 [input] Defines the range [0, size0-1] of the innermost index in the storage of the array t . Will be assigned to dim.dim[0] .

Definition at line 112 of file itbl.C.

References get_taille(), and t.

Itbl::Itbl ( const Dim_tbl dt  )  [explicit]

Constructor from a Dim_tbl .

This constructor sets the Itbl in the logical state ETATQCQ , so that it is ready for initialization via the method set .

Definition at line 118 of file itbl.C.

References get_taille(), set_etat_zero(), and t.

Itbl::Itbl ( FILE *  fd  )  [explicit]

Constructor from a file (see sauve(FILE* ) ).

Definition at line 145 of file itbl.C.

References etat, fread_be(), get_taille(), and t.

Itbl::Itbl ( const Itbl tc  ) 

Copy constructor.

Definition at line 129 of file itbl.C.

References etat, get_taille(), and t.

Itbl::~Itbl (  ) 

Destructor.

Definition at line 163 of file itbl.C.

References t.


Member Function Documentation

void Itbl::annule_hard (  ) 

Sets the Itbl to zero in a hard way.

1/ Sets the logical state to ETATQCQ , i.e. to an ordinary state. 2/ Allocates the memory of the int array t , and fills it with zeros. NB: this function must be used for debugging purposes only. For other operations, the function set_etat_zero() must be perferred.

Definition at line 268 of file itbl.C.

References etat, get_taille(), and t.

void Itbl::del_t (  )  [private]

Logical destructor: dellocates the memory occupied by the array t and sets the logical state to ETATNONDEF.

Definition at line 236 of file itbl.C.

References etat, and t.

int Itbl::get_dim ( int  i  )  const [inline]

Gives the i th dimension (ie {tt dim.dim[i] ).

Definition at line 322 of file itbl.h.

References Dim_tbl::dim, dim, and Dim_tbl::ndim.

int Itbl::get_etat (  )  const [inline]

Gives the logical state.

Definition at line 313 of file itbl.h.

References etat.

int Itbl::get_ndim (  )  const [inline]

Gives the number of dimensions (ie dim.ndim ).

Definition at line 319 of file itbl.h.

References dim, and Dim_tbl::ndim.

int Itbl::get_taille (  )  const [inline]

Gives the total size (ie dim.taille ).

Definition at line 316 of file itbl.h.

References dim, and Dim_tbl::taille.

int Itbl::operator() ( int  k,
int  j,
int  i 
) const [inline]

Read-only of a particular element (index (k,j,i) ) (3D case).

Definition at line 297 of file itbl.h.

References Dim_tbl::dim, dim, etat, Dim_tbl::ndim, and t.

int Itbl::operator() ( int  j,
int  i 
) const [inline]

Read-only of a particular element (index (j,i) ) (2D case).

Definition at line 274 of file itbl.h.

References Dim_tbl::dim, dim, etat, Dim_tbl::ndim, and t.

int Itbl::operator() ( int  i  )  const [inline]

Read-only of a particular element (index i ) (1D case).

Definition at line 252 of file itbl.h.

References Dim_tbl::dim, dim, etat, Dim_tbl::ndim, and t.

void Itbl::operator*= ( int  x  ) 

Multiplication of this by a int.

Definition at line 483 of file itbl_arithm.C.

References etat, get_taille(), set_etat_zero(), and t.

void Itbl::operator*= ( const Itbl ti  ) 

Multiplication of this by a Itbl.

Definition at line 458 of file itbl_arithm.C.

References dim, etat, get_etat(), get_taille(), set_etat_zero(), and t.

void Itbl::operator+= ( int  x  ) 

Addition of a int to this.

Definition at line 351 of file itbl_arithm.C.

References etat, get_taille(), set_etat_qcq(), and t.

void Itbl::operator+= ( const Itbl ti  ) 

Addition of a Itbl to this.

Definition at line 314 of file itbl_arithm.C.

References dim, etat, get_etat(), get_taille(), set_etat_qcq(), and t.

void Itbl::operator-= ( int  x  ) 

Subtraction of a int to this.

Definition at line 423 of file itbl_arithm.C.

References etat, get_taille(), set_etat_qcq(), and t.

void Itbl::operator-= ( const Itbl ti  ) 

Subtraction of a Itbl to this.

Definition at line 386 of file itbl_arithm.C.

References dim, etat, get_etat(), get_taille(), set_etat_qcq(), and t.

void Itbl::operator= ( int  a  ) 

Assignment to a int.

Definition at line 199 of file itbl.C.

References get_taille(), set_etat_qcq(), set_etat_zero(), and t.

void Itbl::operator= ( const Itbl tx  ) 

Assignment to another Itbl.

Definition at line 172 of file itbl.C.

References dim, etat, get_etat(), get_taille(), set_etat_qcq(), set_etat_zero(), and t.

void Itbl::sauve ( FILE *  fd  )  const

Save in a file.

Definition at line 222 of file itbl.C.

References dim, etat, fwrite_be(), get_taille(), Dim_tbl::sauve(), and t.

int& Itbl::set ( int  k,
int  j,
int  i 
) [inline]

Read/write of a particular element (index (k,j,i) ) (3D case).

Definition at line 287 of file itbl.h.

References Dim_tbl::dim, dim, etat, Dim_tbl::ndim, and t.

int& Itbl::set ( int  j,
int  i 
) [inline]

Read/write of a particular element (index (j,i) ) (2D case).

Definition at line 265 of file itbl.h.

References Dim_tbl::dim, dim, etat, Dim_tbl::ndim, and t.

int& Itbl::set ( int  i  )  [inline]

Read/write of a particular element (index i ) (1D case).

Definition at line 243 of file itbl.h.

References Dim_tbl::dim, dim, etat, Dim_tbl::ndim, and t.

void Itbl::set_etat_nondef (  ) 

Sets the logical state to ETATNONDEF (undefined).

Deallocates the memory occupied by the int array t .

Definition at line 250 of file itbl.C.

References del_t(), and etat.

void Itbl::set_etat_qcq (  ) 

Sets the logical state to ETATQCQ (ordinary state).

If the state (member etat ) is already ETATQCQ , this function does nothing. Otherwise, it performs the memory allocation for the int array t .

Definition at line 257 of file itbl.C.

References etat, get_taille(), and t.

void Itbl::set_etat_zero (  ) 

Sets the logical state to ETATZERO (zero).

Deallocates the memory occupied by the int array t .

Definition at line 243 of file itbl.C.

References del_t(), and etat.


Friends And Related Function Documentation

ostream& operator<< ( ostream &  ,
const Itbl  
) [friend]

Display.


Member Data Documentation

Number of dimensions, size,...

Definition at line 127 of file itbl.h.

int Itbl::etat [private]

logical state (ETATNONDEF , ETATQCQ or ETATZERO ).

Definition at line 124 of file itbl.h.

int* Itbl::t

The array of int 's.

Definition at line 128 of file itbl.h.


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

Generated on 7 Oct 2014 for LORENE by  doxygen 1.6.1