CoinArrayWithLength Class Reference

Pointer with length in bytes. More...

#include <CoinIndexedVector.hpp>

Inheritance diagram for CoinArrayWithLength:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Get methods.

int getSize () const
 Get the size.
int rawSize () const
 Get the size.
bool switchedOn () const
 See if persistence already on.
int getCapacity () const
 Get the capacity.
void setCapacity ()
 Set the capacity to >=0 if <=-2.
const char * array () const
 Get Array.
Set methods

void setSize (int value)
 Set the size.
void switchOff ()
 Set the size to -1.
void setPersistence (int flag, int currentLength)
 Does what is needed to set persistence.
void clear ()
 Zero out array.
void swap (CoinArrayWithLength &other)
 Swaps memory between two members.
void extend (int newSize)
 Extend a persistent array keeping data (size in bytes).
Condition methods

char * conditionalNew (long sizeWanted)
 Conditionally gets new array.
void conditionalDelete ()
 Conditionally deletes.
Constructors and destructors

 CoinArrayWithLength ()
 Default constructor - NULL.
 CoinArrayWithLength (int size)
 Alternate Constructor - length in bytes - size_ -1.
 CoinArrayWithLength (int size, int mode)
 Alternate Constructor - length in bytes mode - 0 size_ set to size 1 size_ set to size and zeroed.
 CoinArrayWithLength (const CoinArrayWithLength &rhs)
 Copy constructor.
 CoinArrayWithLength (const CoinArrayWithLength *rhs)
 Copy constructor.2.
CoinArrayWithLengthoperator= (const CoinArrayWithLength &rhs)
 Assignment operator.
void copy (const CoinArrayWithLength &rhs, int numberBytes=-1)
 Assignment with length (if -1 use internal length).
void allocate (const CoinArrayWithLength &rhs, int numberBytes)
 Assignment with length - does not copy.
 ~CoinArrayWithLength ()
 Destructor.

Protected Attributes

Private member data

char * array_
 Array.
int size_
 Size of array in bytes.

Detailed Description

Pointer with length in bytes.

This has a pointer to an array and the number of bytes in array. If number of bytes==-1 then CoinConditionalNew deletes existing pointer and returns new pointer of correct size (and number bytes still -1). CoinConditionalDelete deletes existing pointer and NULLs it. So behavior is as normal (apart from New deleting pointer which will have no effect with good coding practices. If number of bytes >=0 then CoinConditionalNew just returns existing pointer if array big enough otherwise deletes existing pointer, allocates array with spare 1+64 bytes and updates number of bytes CoinConditionalDelete sets number of bytes = -size-2 and then array returns NULL

Definition at line 465 of file CoinIndexedVector.hpp.


Constructor & Destructor Documentation

CoinArrayWithLength::CoinArrayWithLength (  )  [inline]

Default constructor - NULL.

Definition at line 519 of file CoinIndexedVector.hpp.

CoinArrayWithLength::CoinArrayWithLength ( int  size  )  [inline]

Alternate Constructor - length in bytes - size_ -1.

Definition at line 522 of file CoinIndexedVector.hpp.

CoinArrayWithLength::CoinArrayWithLength ( int  size,
int  mode 
) [inline]

Alternate Constructor - length in bytes mode - 0 size_ set to size 1 size_ set to size and zeroed.

Definition at line 528 of file CoinIndexedVector.hpp.

CoinArrayWithLength::CoinArrayWithLength ( const CoinArrayWithLength rhs  ) 

Copy constructor.

CoinArrayWithLength::CoinArrayWithLength ( const CoinArrayWithLength rhs  ) 

Copy constructor.2.

CoinArrayWithLength::~CoinArrayWithLength (  )  [inline]

Destructor.

Definition at line 541 of file CoinIndexedVector.hpp.


Member Function Documentation

int CoinArrayWithLength::getSize (  )  const [inline]
int CoinArrayWithLength::rawSize (  )  const [inline]

Get the size.

Definition at line 474 of file CoinIndexedVector.hpp.

bool CoinArrayWithLength::switchedOn (  )  const [inline]

See if persistence already on.

Definition at line 477 of file CoinIndexedVector.hpp.

int CoinArrayWithLength::getCapacity (  )  const [inline]

Get the capacity.

Definition at line 480 of file CoinIndexedVector.hpp.

void CoinArrayWithLength::setCapacity (  )  [inline]

Set the capacity to >=0 if <=-2.

Definition at line 483 of file CoinIndexedVector.hpp.

const char* CoinArrayWithLength::array (  )  const [inline]
void CoinArrayWithLength::setSize ( int  value  )  [inline]
void CoinArrayWithLength::switchOff (  )  [inline]

Set the size to -1.

Definition at line 496 of file CoinIndexedVector.hpp.

void CoinArrayWithLength::setPersistence ( int  flag,
int  currentLength 
)

Does what is needed to set persistence.

void CoinArrayWithLength::clear (  ) 

Zero out array.

void CoinArrayWithLength::swap ( CoinArrayWithLength other  ) 

Swaps memory between two members.

void CoinArrayWithLength::extend ( int  newSize  ) 

Extend a persistent array keeping data (size in bytes).

char* CoinArrayWithLength::conditionalNew ( long  sizeWanted  ) 

Conditionally gets new array.

void CoinArrayWithLength::conditionalDelete (  ) 

Conditionally deletes.

CoinArrayWithLength& CoinArrayWithLength::operator= ( const CoinArrayWithLength rhs  ) 

Assignment operator.

void CoinArrayWithLength::copy ( const CoinArrayWithLength rhs,
int  numberBytes = -1 
)

Assignment with length (if -1 use internal length).

void CoinArrayWithLength::allocate ( const CoinArrayWithLength rhs,
int  numberBytes 
)

Assignment with length - does not copy.


Member Data Documentation

char* CoinArrayWithLength::array_ [protected]

Array.

Definition at line 550 of file CoinIndexedVector.hpp.

int CoinArrayWithLength::size_ [protected]

Size of array in bytes.

Definition at line 552 of file CoinIndexedVector.hpp.


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