# Ogre::StdAlignedAllocPolicy< Alignment > Class Template Reference

A "standard" allocation policy for use with AllocatedObject and STLAllocator, which aligns memory at a given boundary (which should be a power of 2). More...

`#include <OgreMemoryStdAlloc.h>`

List of all members.

## Public Types

typedef int | IsValidAlignment [Alignment<=128 &&((Alignment &(Alignment-1))==0)?+1:-1]

## Static Public Member Functions

static void * | allocateBytes (size_t count, const char *=0, int=0, const char *=0)
static void | deallocateBytes (void *ptr)
static size_t | getMaxAllocationSize ()
| Get the maximum size of a single allocation.

## Private Member Functions

| StdAlignedAllocPolicy ()

## Detailed Description

### template<size_t Alignment = 0>
class Ogre::StdAlignedAllocPolicy< Alignment >

A "standard" allocation policy for use with AllocatedObject and STLAllocator, which aligns memory at a given boundary (which should be a power of 2).

This is the class that actually does the allocation and deallocation of physical memory, and is what you will want to provide a custom version of if you wish to change how memory is allocated.

  This class just delegates to the global malloc/free, via AlignedMemory.

Note:
  template parameter Alignment equal to zero means use default platform dependent alignment.

Definition at line 101 of file OgreMemoryStdAlloc.h.

## Member Typedef Documentation

template<size_t Alignment = 0>

typedef int Ogre::StdAlignedAllocPolicy< Alignment >::IsValidAlignment[Alignment<=128 &&((Alignment &(Alignment-1))==0)?+1:-1]

Definition at line 106 of file OgreMemoryStdAlloc.h.

## Constructor & Destructor Documentation

template<size_t Alignment = 0>

Ogre::StdAlignedAllocPolicy< Alignment >::StdAlignedAllocPolicy | ( |  | ) | `[private]`

Definition at line 140 of file OgreMemoryStdAlloc.h.

## Member Function Documentation

template<size_t Alignment = 0>

static void* Ogre::StdAlignedAllocPolicy< Alignment >::allocateBytes | ( | size_t | count,
|  | const char * | = `0`,
|  | int | = `0`,
|  | const char * | = `0` |
| ) |  |  | `[static]`

Definition at line 108 of file OgreMemoryStdAlloc.h.

References Ogre::AlignedMemory::allocate().

template<size_t Alignment = 0>

static void Ogre::StdAlignedAllocPolicy< Alignment >::deallocateBytes | ( | void * | ptr | ) | `[static]`

Definition at line 125 of file OgreMemoryStdAlloc.h.

References Ogre::AlignedMemory::deallocate().

template<size_t Alignment = 0>

static size_t Ogre::StdAlignedAllocPolicy< Alignment >::getMaxAllocationSize | ( |  | ) | `[static]`

Get the maximum size of a single allocation.

Definition at line 134 of file OgreMemoryStdAlloc.h.

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

- OgreMemoryStdAlloc.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Jul 26 11:34:03 2009