xc
Public Types | Public Member Functions | Friends | List of all members

Vector of integers. More...

#include <ID.h>

Inheritance diagram for XC::ID:
XC::IDVarSize XC::MovableID XC::ResponseId XC::MovableString XC::RespFiberSectionShear3d XC::RespMembraneMaterial XC::RespPlateMaterial XC::RespPMz XC::RespPMzMy XC::RespPMzMyT XC::RespPMzV XC::RespPMzVyMyVzT XC::RespPVyMz XC::RespShellMaterial XC::RespVyP

Public Types

typedef std::vector< int > v_int
 

Public Member Functions

 ID (void)
 Default constructor, sets size = 0;.
 
 ID (const int &)
 Constructor used to allocate a ID of size size. More...
 
 ID (const v_int &)
 
 ID (const boost::python::list &)
 Constructor (Python interface).
 
 ID (const std::set< int > &)
 
template<class InputIterator >
 ID (InputIterator first, InputIterator last)
 
int Size (void) const
 Returns the vector size.
 
void Zero (void)
 Zeros out the ID, i.e. More...
 
const int * getDataPtr (void) const
 Returns a const pointer to the vector data.
 
int * getDataPtr (void)
 Returns a const pointer to the vector data.
 
bool isEmpty (void) const
 Returns true if the vector is empty.
 
int resize (const int &newSize, const int &defaultValue=0)
 
const int & max (void) const
 Returns the maximum of vector components.
 
const int & min (void) const
 Returns the minimum of vector components.
 
bool checkRange (const int &) const
 check if argument is inside range [0,sz-1]
 
int & operator() (const int &)
 Returns a reference to the element at position i in the container (does not range checking unless _G3DEBUG is set => faster than [] operator). More...
 
const int & operator() (const int &) const
 Returns a const reference to the element at position i in the container (does not range checking unless _G3DEBUG is set => faster than [] operator). More...
 
int & operator[] (const int &i)
 Returns a reference to the element at position i in the container (does range checking => slower than () operator). More...
 
const int & operator[] (const int &i) const
 Returns a reference to the element at position i in the container (does range checking => slower than () operator). More...
 
int getLocation (const int &) const
 Returns the position of 'value' in the vector. More...
 
int getLocationOrdered (const int &) const
 
int removeValue (const int &)
 Remove value from the array. More...
 

Friends

class UDP_Socket
 
class TCP_Socket
 
class TCP_SocketNoDelay
 
class MPI_Channel
 
std::ostream & operator<< (std::ostream &, const ID &)
 

Detailed Description

Vector of integers.

The ID class provides the abstraction for an integer Vector. The class is introduced in addition to the Vector class, to save memory and casting when integer arrays are required. An ID of order {size} is an ordered 1d array of size integer values. For example an ID id of order 5:

\(id = [id_0\) \(id_1\) \(id_2\) \(id_3\) \(id_4]\)

In the ID class, the data is stored in a 1d integer array of length equal to arraySize, where order <= arraySize. Creating an ID with storage capacity greater than that required allows the ID object to grow without the need to deallocate and allocate more memory. At present time none of the methods are declared as being virtual. THIS MAY CHANGE.

Constructor & Destructor Documentation

§ ID()

XC::ID::ID ( const int &  size)
explicit

Constructor used to allocate a ID of size size.

To construct a ID of size idSize. The constructor creates an integer array of size idSize to store the data and zeroes this array by invoking Zero() on itself. If not enough memory is available an error message is printed and an ID of size \(0\) is returned.

Member Function Documentation

§ getLocation()

int XC::ID::getLocation ( const int &  value) const

Returns the position of 'value' in the vector.

Will return the location the first location in the ID of the integer x. If x is not in the ID a \(-1\) is returned.

§ operator()() [1/2]

int & XC::ID::operator() ( const int &  i)
inline

Returns a reference to the element at position i in the container (does not range checking unless _G3DEBUG is set => faster than [] operator).

§ operator()() [2/2]

const int & XC::ID::operator() ( const int &  i) const
inline

Returns a const reference to the element at position i in the container (does not range checking unless _G3DEBUG is set => faster than [] operator).

§ operator[]() [1/2]

int& XC::ID::operator[] ( const int &  i)
inline

Returns a reference to the element at position i in the container (does range checking => slower than () operator).

§ operator[]() [2/2]

const int& XC::ID::operator[] ( const int &  i) const
inline

Returns a reference to the element at position i in the container (does range checking => slower than () operator).

§ removeValue()

int XC::ID::removeValue ( const int &  value)

Remove value from the array.

Will return the last location in the ID of the integer x. If x is not in the ID a \(-1\) is returned. All the integer components x are removed from the ID and the length of the ID is reduced by the number of the removed components. The arraySize remains unchanged.

§ Zero()

void XC::ID::Zero ( void  )

Zeros out the ID, i.e.

sets all the components of the ID to \(0\).


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