List of all members
CoinArrayWithLength Class Reference

Pointer with length in bytes. More...

#include <CoinIndexedVector.hpp>

Inheritance diagram for CoinArrayWithLength:
Inheritance graph
[legend]

Public Member Functions

Get methods.
int getSize () const
 Get the size. More...
 
int rawSize () const
 Get the size. More...
 
bool switchedOn () const
 See if persistence already on. More...
 
int capacity () const
 Get the capacity (just read it) More...
 
void setCapacity ()
 Set the capacity to >=0 if <=-2. More...
 
const char * array () const
 Get Array. More...
 
Set methods
void setSize (int value)
 Set the size. More...
 
void switchOff ()
 Set the size to -1. More...
 
void switchOn (int alignment=3)
 Set the size to -2 and alignment. More...
 
void setPersistence (int flag, int currentLength)
 Does what is needed to set persistence. More...
 
void clear ()
 Zero out array. More...
 
void swap (CoinArrayWithLength &other)
 Swaps memory between two members. More...
 
void extend (int newSize)
 Extend a persistent array keeping data (size in bytes) More...
 
Condition methods
char * conditionalNew (long sizeWanted)
 Conditionally gets new array. More...
 
void conditionalDelete ()
 Conditionally deletes. More...
 
Constructors and destructors
 CoinArrayWithLength ()
 Default constructor - NULL. More...
 
 CoinArrayWithLength (int size)
 Alternate Constructor - length in bytes - size_ -1. More...
 
 CoinArrayWithLength (int size, int mode)
 Alternate Constructor - length in bytes mode - 0 size_ set to size mode>0 size_ set to size and zeroed if size<=0 just does alignment If abs(mode) >2 then align on that as power of 2. More...
 
 CoinArrayWithLength (const CoinArrayWithLength &rhs)
 Copy constructor. More...
 
 CoinArrayWithLength (const CoinArrayWithLength *rhs)
 Copy constructor.2. More...
 
CoinArrayWithLengthoperator= (const CoinArrayWithLength &rhs)
 Assignment operator. More...
 
void copy (const CoinArrayWithLength &rhs, int numberBytes=-1)
 Assignment with length (if -1 use internal length) More...
 
void allocate (const CoinArrayWithLength &rhs, int numberBytes)
 Assignment with length - does not copy. More...
 
 ~CoinArrayWithLength ()
 Destructor. More...
 
void getArray (int size)
 Get array with alignment. More...
 
void reallyFreeArray ()
 Really get rid of array with alignment. More...
 
void getCapacity (int numberBytes, int numberIfNeeded=-1)
 Get enough space (if more needed then do at least needed) More...
 

Protected Attributes

Private member data
char * array_
 Array. More...
 
CoinBigIndex size_
 Size of array in bytes. More...
 
int offset_
 Offset of array. More...
 
int alignment_
 Alignment wanted (power of 2) More...
 

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 513 of file CoinIndexedVector.hpp.

Constructor & Destructor Documentation

CoinArrayWithLength::CoinArrayWithLength ( )
inline

Default constructor - NULL.

Definition at line 570 of file CoinIndexedVector.hpp.

CoinArrayWithLength::CoinArrayWithLength ( int  size)
inline

Alternate Constructor - length in bytes - size_ -1.

Definition at line 574 of file CoinIndexedVector.hpp.

CoinArrayWithLength::CoinArrayWithLength ( int  size,
int  mode 
)

Alternate Constructor - length in bytes mode - 0 size_ set to size mode>0 size_ set to size and zeroed if size<=0 just does alignment If abs(mode) >2 then align on that as power of 2.

CoinArrayWithLength::CoinArrayWithLength ( const CoinArrayWithLength rhs)

Copy constructor.

CoinArrayWithLength::CoinArrayWithLength ( const CoinArrayWithLength rhs)

Copy constructor.2.

CoinArrayWithLength::~CoinArrayWithLength ( )

Destructor.

Member Function Documentation

int CoinArrayWithLength::getSize ( ) const
inline

Get the size.

Definition at line 519 of file CoinIndexedVector.hpp.

int CoinArrayWithLength::rawSize ( ) const
inline

Get the size.

Definition at line 522 of file CoinIndexedVector.hpp.

bool CoinArrayWithLength::switchedOn ( ) const
inline

See if persistence already on.

Definition at line 525 of file CoinIndexedVector.hpp.

int CoinArrayWithLength::capacity ( ) const
inline

Get the capacity (just read it)

Definition at line 528 of file CoinIndexedVector.hpp.

void CoinArrayWithLength::setCapacity ( )
inline

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

Definition at line 531 of file CoinIndexedVector.hpp.

const char* CoinArrayWithLength::array ( ) const
inline

Get Array.

Definition at line 534 of file CoinIndexedVector.hpp.

void CoinArrayWithLength::setSize ( int  value)
inline

Set the size.

Definition at line 541 of file CoinIndexedVector.hpp.

void CoinArrayWithLength::switchOff ( )
inline

Set the size to -1.

Definition at line 544 of file CoinIndexedVector.hpp.

void CoinArrayWithLength::switchOn ( int  alignment = 3)
inline

Set the size to -2 and alignment.

Definition at line 547 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.

void CoinArrayWithLength::getArray ( int  size)

Get array with alignment.

void CoinArrayWithLength::reallyFreeArray ( )

Really get rid of array with alignment.

void CoinArrayWithLength::getCapacity ( int  numberBytes,
int  numberIfNeeded = -1 
)

Get enough space (if more needed then do at least needed)

Member Data Documentation

char* CoinArrayWithLength::array_
protected

Array.

Definition at line 608 of file CoinIndexedVector.hpp.

CoinBigIndex CoinArrayWithLength::size_
protected

Size of array in bytes.

Definition at line 610 of file CoinIndexedVector.hpp.

int CoinArrayWithLength::offset_
protected

Offset of array.

Definition at line 612 of file CoinIndexedVector.hpp.

int CoinArrayWithLength::alignment_
protected

Alignment wanted (power of 2)

Definition at line 614 of file CoinIndexedVector.hpp.


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