| ## Public API Reference

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

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# CS::Memory::AllocatorPointerWrapper< T, Allocator > Struct Template Reference

Class to store a pointer that is allocated from Allocator, to eliminate overhead from a possibly empty Allocator. More...

`#include <csutil/allocator.h>`

List of all members.

## Public Member Functions
| AllocatorPointerWrapper (const Allocator &alloc, T *p)
| AllocatorPointerWrapper (T *p)
| AllocatorPointerWrapper (const Allocator &alloc)
| AllocatorPointerWrapper ()
## Public Attributes
T * | p
| The allocated pointer.

## Detailed Description

### template<typename T, typename Allocator>
struct CS::Memory::AllocatorPointerWrapper< T, Allocator >

Class to store a pointer that is allocated from Allocator, to eliminate overhead from a possibly empty Allocator.

See http://www.cantrip.org/emptyopt.html for details.

Definition at line 237 of file allocator.h.

## Member Data Documentation

template<typename T, typename Allocator>

T* CS::Memory::AllocatorPointerWrapper< T, Allocator >::p

The allocated pointer.

Definition at line 240 of file allocator.h.

Referenced by csArray< unsigned int, csArrayElementHandler< unsigned int > >::csArray(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::DeleteAll(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::DeleteIndex(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::DeleteIndexFast(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::DeleteRange(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::Find(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::FindKey(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::FindSortedKey(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::Get(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::GetExtend(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::GetIndex(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::InitRegion(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::Insert(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::InsertSorted(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::Pop(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::Push(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::Put(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::Section(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::SetSize(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::ShrinkBestFit(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::Sort(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::Top(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::TransferTo(), and csArray< unsigned int, csArrayElementHandler< unsigned int > >::Truncate().

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

- csutil/allocator.h