Cgl 0.60.2

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
CoinArrayWithLength Class Reference

Pointer with length in bytes. More...

`#include <CoinIndexedVector.hpp>`

Inheritance diagram for CoinArrayWithLength:
[legend]

## Public Member Functions
Get methods.
CoinBigIndex | getSize () const
| Get the size. More...
CoinBigIndex | rawSize () const
| Get the size. More...
bool | switchedOn () const
| See if persistence already on. More...
CoinBigIndex | 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 (CoinBigIndex sizeWanted)
| Conditionally gets new array. More...
void | conditionalDelete ()
| Conditionally deletes. More...
Constructors and destructors
| CoinArrayWithLength ()
| Default constructor - NULL. More...
| CoinArrayWithLength (CoinBigIndex size)
| Alternate Constructor - length in bytes - size_ -1. More...
| CoinArrayWithLength (CoinBigIndex 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...
CoinArrayWithLength & | operator= (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, CoinBigIndex numberBytes)
| Assignment with length - does not copy. More...
| ~CoinArrayWithLength ()
| Destructor. More...
void | getArray (CoinBigIndex size)
| Get array with alignment. More...
void | reallyFreeArray ()
| Really get rid of array with alignment. More...
void | getCapacity (CoinBigIndex numberBytes, CoinBigIndex 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 533 of file CoinIndexedVector.hpp.

## Constructor & Destructor Documentation

CoinArrayWithLength::CoinArrayWithLength | ( |  | ) |
| inline

Default constructor - NULL.

Definition at line 621 of file CoinIndexedVector.hpp.

CoinArrayWithLength::CoinArrayWithLength | ( | CoinBigIndex | size | ) |
| inline

Alternate Constructor - length in bytes - size_ -1.

Definition at line 629 of file CoinIndexedVector.hpp.

CoinArrayWithLength::CoinArrayWithLength | ( | CoinBigIndex | 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

CoinBigIndex CoinArrayWithLength::getSize | ( |  | ) | const
| inline

Get the size.

Definition at line 539 of file CoinIndexedVector.hpp.

CoinBigIndex CoinArrayWithLength::rawSize | ( |  | ) | const
| inline

Get the size.

Definition at line 544 of file CoinIndexedVector.hpp.

bool CoinArrayWithLength::switchedOn | ( |  | ) | const
| inline

See if persistence already on.

Definition at line 549 of file CoinIndexedVector.hpp.

CoinBigIndex CoinArrayWithLength::capacity | ( |  | ) | const
| inline

Get the capacity (just read it)

Definition at line 554 of file CoinIndexedVector.hpp.

void CoinArrayWithLength::setCapacity | ( |  | ) |
| inline

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

Definition at line 559 of file CoinIndexedVector.hpp.

const char* CoinArrayWithLength::array | ( |  | ) | const
| inline

Get Array.

Definition at line 565 of file CoinIndexedVector.hpp.

void CoinArrayWithLength::setSize | ( | int | value | ) |
| inline

Set the size.

Definition at line 574 of file CoinIndexedVector.hpp.

void CoinArrayWithLength::switchOff | ( |  | ) |
| inline

Set the size to -1.

Definition at line 586 of file CoinIndexedVector.hpp.

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

Set the size to -2 and alignment.

Definition at line 591 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 | ( | CoinBigIndex | 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,
|  | CoinBigIndex | numberBytes
| ) |  |

Assignment with length - does not copy.

void CoinArrayWithLength::getArray | ( | CoinBigIndex | size | ) |

Get array with alignment.

void CoinArrayWithLength::reallyFreeArray | ( |  | ) |

Really get rid of array with alignment.

void CoinArrayWithLength::getCapacity | ( | CoinBigIndex | numberBytes,
|  | CoinBigIndex | numberIfNeeded = `-1`
| ) |  |

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

## Member Data Documentation

char* CoinArrayWithLength::array_
| protected

Array.

Definition at line 667 of file CoinIndexedVector.hpp.

CoinBigIndex CoinArrayWithLength::size_
| protected

Size of array in bytes.

Definition at line 669 of file CoinIndexedVector.hpp.

int CoinArrayWithLength::offset_
| protected

Offset of array.

Definition at line 671 of file CoinIndexedVector.hpp.

int CoinArrayWithLength::alignment_
| protected

Alignment wanted (power of 2)

Definition at line 673 of file CoinIndexedVector.hpp.

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

- /tmp/Cgl-0.60.2/CoinUtils/src/CoinIndexedVector.hpp