Bullet Collision Detection & Physics Library
Classes | Macros | Typedefs | Functions
btAlignedAllocator.h File Reference
#include "btScalar.h"
Include dependency graph for btAlignedAllocator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  btAlignedAllocator< T, Alignment >
 The btAlignedAllocator is a portable class for aligned memory allocations. More...
 
struct  btAlignedAllocator< T, Alignment >::rebind< O >
 

Macros

#define btAlignedAlloc(size, alignment)   btAlignedAllocInternal(size,alignment)
 
#define btAlignedFree(ptr)   btAlignedFreeInternal(ptr)
 

Typedefs

typedef int size_type
 
typedef void *( btAlignedAllocFunc )(size_t size, int alignment)
 
typedef void( btAlignedFreeFunc )(void *memblock)
 
typedef void *( btAllocFunc )(size_t size)
 
typedef void( btFreeFunc )(void *memblock)
 

Functions

void * btAlignedAllocInternal (size_t size, int alignment)
 we probably replace this with our own aligned memory allocator so we replace _aligned_malloc and _aligned_free with our own that is better portable and more predictable More...
 
void btAlignedFreeInternal (void *ptr)
 
void btAlignedAllocSetCustom (btAllocFunc *allocFunc, btFreeFunc *freeFunc)
 The developer can let all Bullet memory allocations go through a custom memory allocator, using btAlignedAllocSetCustom. More...
 
void btAlignedAllocSetCustomAligned (btAlignedAllocFunc *allocFunc, btAlignedFreeFunc *freeFunc)
 If the developer has already an custom aligned allocator, then btAlignedAllocSetCustomAligned can be used. The default aligned allocator pre-allocates extra memory using the non-aligned allocator, and instruments it. More...
 

Macro Definition Documentation

#define btAlignedAlloc (   size,
  alignment 
)    btAlignedAllocInternal(size,alignment)

Definition at line 41 of file btAlignedAllocator.h.

#define btAlignedFree (   ptr)    btAlignedFreeInternal(ptr)

Definition at line 42 of file btAlignedAllocator.h.

Typedef Documentation

typedef void*( btAlignedAllocFunc)(size_t size, int alignment)

Definition at line 47 of file btAlignedAllocator.h.

typedef void( btAlignedFreeFunc)(void *memblock)

Definition at line 48 of file btAlignedAllocator.h.

typedef void*( btAllocFunc)(size_t size)

Definition at line 49 of file btAlignedAllocator.h.

typedef void( btFreeFunc)(void *memblock)

Definition at line 50 of file btAlignedAllocator.h.

typedef int size_type

Definition at line 45 of file btAlignedAllocator.h.

Function Documentation

void* btAlignedAllocInternal ( size_t  size,
int  alignment 
)

we probably replace this with our own aligned memory allocator so we replace _aligned_malloc and _aligned_free with our own that is better portable and more predictable

Definition at line 159 of file btAlignedAllocator.cpp.

void btAlignedAllocSetCustom ( btAllocFunc allocFunc,
btFreeFunc freeFunc 
)

The developer can let all Bullet memory allocations go through a custom memory allocator, using btAlignedAllocSetCustom.

Definition at line 101 of file btAlignedAllocator.cpp.

void btAlignedAllocSetCustomAligned ( btAlignedAllocFunc allocFunc,
btAlignedFreeFunc freeFunc 
)

If the developer has already an custom aligned allocator, then btAlignedAllocSetCustomAligned can be used. The default aligned allocator pre-allocates extra memory using the non-aligned allocator, and instruments it.

Definition at line 95 of file btAlignedAllocator.cpp.

void btAlignedFreeInternal ( void *  ptr)

Definition at line 168 of file btAlignedAllocator.cpp.