# __HLAbuffer Class Reference

`#include <HLAbuffer.hh>`

Inheritance diagram for __HLAbuffer:

[legend]

List of all members.

## Public Member Functions
| __HLAbuffer (size_t capacity)
| __HLAbuffer (void *begin, size_t capacity)
virtual | ~__HLAbuffer ()
void | __exchange_buffers (__HLAbuffer &newBuffer)
virtual const size_t | size () const =0
virtual void | __shake (const void *__that, int value, long resize)=0
const char * | data () const
std::ostream & | print (std::ostream &stream)
## Static Public Member Functions
static BufferList::iterator | __buffer_iterator (const void *__this)
static __HLAbuffer & | __buffer (const void *__this)
static void | __check_memory (const void *__this, size_t size)
static void | shake (const void *__that, int value, long resize)
## Public Attributes
char * | mBegin
size_t | mCapacity
bool | mUserAllocated
const void * | mShakeThat
int | mShakeValue
## Private Types
typedef std::map< char *, __HLAbuffer * > | BufferList
## Private Member Functions
void | __assert_endianess ()
## Static Private Member Functions
static const bool | __is_big_endian ()
static const bool | __is_little_endian ()
## Static Private Attributes
static BufferList | gBuffers

## Detailed Description

Definition at line 59 of file HLAbuffer.hh.

## Member Typedef Documentation

typedef std::map<char*,__HLAbuffer*> BufferList`[private]`

Definition at line 64 of file HLAbuffer.hh.

## Constructor & Destructor Documentation

__HLAbuffer | ( | size_t | capacity | ) | `[inline]`

Definition at line 91 of file HLAbuffer.hh.

__HLAbuffer | ( | void * | begin,
|  | size_t | capacity |
| ) |  |  | `[inline]`

Definition at line 102 of file HLAbuffer.hh.

virtual ~__HLAbuffer | ( |  | ) | `[inline, virtual]`

Definition at line 110 of file HLAbuffer.hh.

## Member Function Documentation

const bool __is_big_endian | ( |  | ) | `[static, private]`

Definition at line 28 of file HLAbuffer.cc.

const bool __is_little_endian | ( |  | ) | `[static, private]`

Definition at line 38 of file HLAbuffer.cc.

void __assert_endianess | ( |  | ) | `[inline, private]`

Definition at line 71 of file HLAbuffer.hh.

void __exchange_buffers | ( | __HLAbuffer & | newBuffer | ) | `[inline]`

Definition at line 118 of file HLAbuffer.hh.

References __HLAbuffer::mBegin, and __HLAbuffer::mCapacity.

Referenced by HLAdata::__shake().

static BufferList::iterator __buffer_iterator | ( | const void * | __this | ) | `[inline, static]`

Definition at line 132 of file HLAbuffer.hh.

static __HLAbuffer& __buffer | ( | const void * | __this | ) | `[inline, static]`

Definition at line 141 of file HLAbuffer.hh.

Referenced by HLAvariantRecord< DE, DM, R, true >::copy(), HLAvariantRecord< DE, DM, R, false >::copy(), HLAvariableArray< M, true >::copy(), HLAvariableArray< M, false >::copy(), and HLAASCIIstring::operator=().

static void __check_memory | ( | const void * | __this,
|  | size_t | size |
| ) |  |  | `[inline, static]`

Definition at line 145 of file HLAbuffer.hh.

References __HLAbuffer::mBegin, and __HLAbuffer::mCapacity.

Referenced by HLAbasicType::copy(), HLAbasicType::operator T(), and HLAbasicType::operator=().

virtual const size_t size | ( |  | ) | const`[pure virtual]`

Implemented in HLAdata.

virtual void __shake | ( | const void * | __that,
|  | int | value,
|  | long | resize |
| ) |  |  | `[pure virtual]`

Implemented in HLAdata.

static void shake | ( | const void * | __that,
|  | int | value,
|  | long | resize |
| ) |  |  | `[inline, static]`

Definition at line 156 of file HLAbuffer.hh.

Referenced by HLAvariantRecord< DE, DM, R, true >::set_discriminant(), HLAvariantRecord< DE, DM, R, false >::set_discriminant(), HLAvariableArray< M, true >::set_size(), and HLAvariableArray< M, false >::set_size().

const char* data | ( |  | ) | const`[inline]`

Definition at line 159 of file HLAbuffer.hh.

std::ostream& print | ( | std::ostream & | stream | ) | `[inline]`

Definition at line 162 of file HLAbuffer.hh.

References libhla::__print_buffer().

Referenced by test1(), test3(), test4(), test5(), and test6().

Here is the call graph for this function:

## Member Data Documentation

__HLAbuffer::BufferList gBuffers`[static, private]`

Definition at line 65 of file HLAbuffer.hh.

char* mBegin

Definition at line 83 of file HLAbuffer.hh.

Referenced by __HLAbuffer::__check_memory(), __HLAbuffer::__exchange_buffers(), HLAdata::__shake(), HLAdata::operator*(), HLAdata::operator->(), HLAASCIIstring::operator=(), and HLAdata::size().

size_t mCapacity

Definition at line 84 of file HLAbuffer.hh.

Referenced by __HLAbuffer::__check_memory(), __HLAbuffer::__exchange_buffers(), and HLAdata::__shake().

bool mUserAllocated

Definition at line 86 of file HLAbuffer.hh.

Referenced by HLAdata::__shake().

const void* mShakeThat

Definition at line 88 of file HLAbuffer.hh.

Referenced by HLAdata::__shake(), HLAvariantRecord< DE, DM, R, true >::copy(), HLAvariantRecord< DE, DM, R, false >::copy(), HLAvariableArray< M, true >::copy(), and HLAvariableArray< M, false >::copy().

int mShakeValue

Definition at line 89 of file HLAbuffer.hh.

Referenced by HLAdata::__shake(), HLAvariantRecord< DE, DM, R, true >::copy(), HLAvariantRecord< DE, DM, R, false >::copy(), HLAvariableArray< M, true >::copy(), and HLAvariableArray< M, false >::copy().

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

- HLAbuffer.hh
- HLAbuffer.cc