ランタイム
Mix::Memory Namespace Reference

メモリ More...

Classes

class  IBuffer
 バッファインターフェース More...
 
struct  SECTION_INFO
 セクション情報構造体 More...
 
class  STLAllocator
 STL アロケータテンプレートクラス More...
 

Typedefs

template<typename T >
using STLDefaultAllocator = STLAllocator< Mix::Memory::SECTION_USER, T >
 STL のデフォルトアロケータ More...
 

Enumerations

enum  SECTION_TYPE {
  SECTION_GENERAL = 0, SECTION_GRAPHICS = 1, SECTION_SOUND = 2, SECTION_DYNAMICS = 3,
  SECTION_SCENE = 4, SECTION_USER = 5
}
 セクションタイプ列挙定数 More...
 

Functions

_MIX_DLL_API Mix::Memory::SECTION_INFO GetSectionInfo (UInt16 section)
 セクションの情報を取得します More...
 
_MIX_DLL_API void * Allocate (UInt16 section, UIntT size, const wchar_t *pSrcFile, Int32 srcLine)
 メモリを確保します More...
 
_MIX_DLL_API void * AllocateAligned (UInt16 section, UInt16 alignment, UIntT size, const wchar_t *pSrcFile, Int32 srcLine)
 メモリを確保します More...
 
_MIX_DLL_API void * Reallocate (void *ptr, UIntT size, const wchar_t *pSrcFile, Int32 srcLine)
 メモリを再確保します More...
 
_MIX_DLL_API void Free (void *ptr, const wchar_t *pSrcFile, Int32 srcLine)
 メモリを解放します More...
 
_MIX_DLL_API void Copy (void *dst, const void *src, UIntT size)
 メモリをコピーします More...
 
_MIX_DLL_API void Fill (void *ptr, UIntT size, UInt8 fill)
 メモリ全体に指定した値を書き込みます More...
 
_MIX_DLL_API void Zero (void *ptr, UIntT size)
 メモリ全体に 0 を書き込みます More...
 
_MIX_DLL_API Boolean CreateBuffer (UInt16 section, UIntT size, const void *pInitialData, Mix::Memory::IBuffer **ppBuffer)
 バッファを作成します More...
 

Detailed Description

メモリ

Typedef Documentation

template<typename T >
using Mix::Memory::STLDefaultAllocator = typedef STLAllocator<Mix::Memory::SECTION_USER, T>

STL のデフォルトアロケータ

Template Parameters
Tメモリを確保するインスタンスの型

Enumeration Type Documentation

セクションタイプ列挙定数

Enumerator
SECTION_GENERAL 

全般

SECTION_GRAPHICS 

グラフィックス

SECTION_SOUND 

サウンド

SECTION_DYNAMICS 

ダイナミクス

SECTION_SCENE 

シーン

SECTION_USER 

ユーザー

Function Documentation

_MIX_DLL_API Mix::Memory::SECTION_INFO Mix::Memory::GetSectionInfo ( UInt16  section)

セクションの情報を取得します

Parameters
sectionセクション
Returns
セクションの情報を表す Mix::Memory::SECTION_INFO 構造体を返します
_MIX_DLL_API void* Mix::Memory::Allocate ( UInt16  section,
UIntT  size,
const wchar_t *  pSrcFile,
Int32  srcLine 
)

メモリを確保します

Parameters
[in]sectionセクション
[in]size確保するメモリのサイズ
[in]pSrcFileメモリを確保したソースファイルのパス( FILEW )
[in]srcLineメモリを確保したソースファイルの行( LINE )
Returns
確保したメモリのポインタを返します
Note
バッファなどのメモリを確保する際は MIX_MALLOC または MIX_DEBUG_MALLOC を使用し、解放は MIX_FREE を使用してください。
また、インスタンスの初期化は、MIX_NEW または MIX_DEBUG_NEW を使用し、解放は MIX_DELETE MIX_DELETE_ARRAY MIX_DELETE_THIS を使用してください。
_MIX_DLL_API void* Mix::Memory::AllocateAligned ( UInt16  section,
UInt16  alignment,
UIntT  size,
const wchar_t *  pSrcFile,
Int32  srcLine 
)

メモリを確保します

Parameters
[in]sectionセクション
[in]alignment確保するメモリのアラインメント( バイト単位 )
[in]size確保するメモリのサイズ( バイト単位 )
[in]pSrcFileメモリを確保したソースファイルのパス( FILEW )
[in]srcLineメモリを確保したソースファイルの行( LINE )
Returns
確保したメモリのポインタを返します
_MIX_DLL_API void* Mix::Memory::Reallocate ( void *  ptr,
UIntT  size,
const wchar_t *  pSrcFile,
Int32  srcLine 
)

メモリを再確保します

Parameters
[in]ptr再確保するメモリのポインタ
[in]size再確保するサイズ
[in]pSrcFileメモリを確保したソースファイルのパス( FILEW )
[in]srcLineメモリを確保したソースファイルの行( LINE )
Returns
成功した場合は、再確保したメモリのポインタを返します
Note
バッファなどのメモリの再確保をする際は MIX_REALLOC を使用してください。
また、再確保に失敗した場合、指定した再確保しようとしているメモリ ( ptr ) は解放されません。
Mix::Memory::Free ( MIX_FREE ) を使用して解放する必要があります。
_MIX_DLL_API void Mix::Memory::Free ( void *  ptr,
const wchar_t *  pSrcFile,
Int32  srcLine 
)

メモリを解放します

Parameters
[in]ptr解放するメモリのポインタ
[in]pSrcFileメモリを確保したソースファイルのパス( FILEW )
[in]srcLineメモリを確保したソースファイルの行( LINE )
Note
メモリの解放は MIX_FREE を使用してください。
_MIX_DLL_API void Mix::Memory::Copy ( void *  dst,
const void *  src,
UIntT  size 
)

メモリをコピーします

Parameters
[in]dstコピー先のメモリのポインタ
[in]srcコピー元のメモリのポインタ
[in]sizeコピーするサイズ
_MIX_DLL_API void Mix::Memory::Fill ( void *  ptr,
UIntT  size,
UInt8  fill 
)

メモリ全体に指定した値を書き込みます

Parameters
[in]ptrメモリのポインタ
[in]sizeメモリのサイズ
[in]fillメモリに書き込む値
_MIX_DLL_API void Mix::Memory::Zero ( void *  ptr,
UIntT  size 
)

メモリ全体に 0 を書き込みます

Parameters
[in]ptrメモリのポインタ
[in]sizeメモリのサイズ
_MIX_DLL_API Boolean Mix::Memory::CreateBuffer ( UInt16  section,
UIntT  size,
const void *  pInitialData,
Mix::Memory::IBuffer **  ppBuffer 
)

バッファを作成します

Parameters
[in]sectionセクション
[in]sizeバッファのサイズ
[in]pInitialDataバッファの初期データ( NULL指定可能 )
[out]ppBufferMix::Memory::IBuffer インターフェースのポインタ