ArrayAllocatort< T, Tag > Class Template Reference

ArrayAllocator: class for allocation of arrays. More...

`#include <givarrayallocator.h>`

Inheritance diagram for ArrayAllocatort< T, Tag >:
[legend]
Collaboration diagram for ArrayAllocatort< T, Tag >:
[legend]

## Public Types

typedef Type_t | value_type
| STL compliance.

## Public Member Functions

void | destroy ()
| Destroy of the array.
void | allocate (size_t s)
| Allocation of an array of s Elements.
void | reallocate (size_t s)
| Reallocation of an array of s Elements.
void | resize (size_t s)
| resize
void | reserve (size_t s)
| reserve
Self_t & | copy (const Self_t &src)
| Physical copy operator.
Self_t & | logcopy (const Self_t &src)
| Logical recopy operator: make an alias to src. Return dest.
size_t | size () const
| Return the occuped size of the array.
size_t | phsize () const
| Return the physical size of the array (capacity).
Type_t * | baseptr ()
| Return the base ptr to the array.
const T & | operator[] (Indice_t i) const
| Access to the ith Element:
const T & | front () const
| back/front
void | push_back (const T &a)
| add one element at the end
void | write (Indice_t i, const Type_t &val)
| write
void | read (Indice_t i, Type_t &val) const
| read
Iterator_t | begin ()
| Iterators.

## Protected Attributes

int * | _cnt
| reference counter on _d
size_t | _size
| actual size of the array.
size_t | _psz
| physical size of the array
T * | _d
| ptr to the memory

## Detailed Description

template<class T, class Tag>
class Givaro::ArrayAllocatort< T, Tag >

ArrayAllocator: class for allocation of arrays.

Specialization: for Array0Tag.

Should have

- allocate(size_n)
- resize(size_n)
- destroy

## Member Function Documentation

## allocate()

template<class T>

void allocate | ( | size_t | s | ) |

inline inherited

Allocation of an array of s Elements.

if refcount>1 then it is always a creation of new array

## reallocate()

template<class T>

void reallocate | ( | size_t | s | ) |

inline inherited

Reallocation of an array of s Elements.

if refcount>1 then it is always a creation of new array + recopy

## copy()

template<class T>

Array0< T > & copy | ( | const Self_t & | src | ) |

inline inherited

Physical copy operator.

reallocate dest of the same size as src (if necessary) and apply GivaroCopyItem<Array<T>,T> on each Element. This class can be specialized. Return dest (i.e, *this).

## Field Documentation

## _size

template<class T>

size_t _size

protected inherited

actual size of the array.

If ==0 then _psz=_d=_cnt=0

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

- givarrayallocator.h