# CoinArrayWithLength Class Reference

Pointer with length in bytes. More...

`#include <CoinIndexedVector.hpp>`

Inheritance diagram for CoinArrayWithLength:
[legend]
Collaboration diagram for CoinArrayWithLength:
[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 | capacity () const
| Get the capacity (just read it).
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 | switchOn (int alignment=3)
| Set the size to -2 and alignment.
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 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 (const CoinArrayWithLength &rhs)
| Copy constructor.
| CoinArrayWithLength (const CoinArrayWithLength *rhs)
| Copy constructor.2.
CoinArrayWithLength & | operator= (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.
void | getArray (int size)
| Get array with alignment.
void | reallyFreeArray ()
| Really get rid of array with alignment.
void | getCapacity (int numberBytes, int numberIfNeeded=-1)
| Get enough space (if more needed then do at least needed).
## Protected Attributes
Private member data
char * | array_
| Array.
CoinBigIndex | size_
| Size of array in bytes.
int | offset_
| Offset of array.
int | alignment_
| Alignment wanted (power of 2).

## 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.

Reimplemented in CoinDoubleArrayWithLength, CoinFactorizationDoubleArrayWithLength, CoinFactorizationLongDoubleArrayWithLength, CoinIntArrayWithLength, CoinBigIndexArrayWithLength, CoinUnsignedIntArrayWithLength, CoinVoidStarArrayWithLength, and CoinArbitraryArrayWithLength.

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.

Reimplemented in CoinDoubleArrayWithLength, CoinFactorizationDoubleArrayWithLength, CoinFactorizationLongDoubleArrayWithLength, CoinIntArrayWithLength, CoinBigIndexArrayWithLength, CoinUnsignedIntArrayWithLength, CoinVoidStarArrayWithLength, and CoinArbitraryArrayWithLength.

Definition at line 534 of file CoinIndexedVector.hpp.

void CoinArrayWithLength::setSize | ( | int | value | ) | `[inline]`

Set the size.

Reimplemented in CoinDoubleArrayWithLength, CoinFactorizationDoubleArrayWithLength, CoinFactorizationLongDoubleArrayWithLength, CoinIntArrayWithLength, CoinBigIndexArrayWithLength, CoinUnsignedIntArrayWithLength, CoinVoidStarArrayWithLength, and CoinArbitraryArrayWithLength.

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.

Reimplemented in CoinDoubleArrayWithLength, CoinFactorizationDoubleArrayWithLength, CoinFactorizationLongDoubleArrayWithLength, CoinIntArrayWithLength, CoinBigIndexArrayWithLength, CoinUnsignedIntArrayWithLength, CoinVoidStarArrayWithLength, and CoinArbitraryArrayWithLength.

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:

- /home/coin/svn-release/CoinUtils-2.10.9/CoinUtils/src/CoinIndexedVector.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines