virtual void* do_allocate(std::size_t bytes, std::size_t alignment) = 0;
概要
派生クラスでオーバライドし、メモリを確保する処理を実装する。
事前条件
alignment
は2の累乗であること
引数
bytes
-- 確保する領域のサイズalignment
-- 確保領域のアライメント要求
効果
少なくともbytes
のメモリを確保し、alignment
にアラインする。
戻り値
確保したメモリ領域の先頭ポインタ。
例外
要求されたアライメントでbytes
のメモリ領域を確保できない場合、例外を送出する。
バージョン
言語
- C++17
処理系
- Clang: ??
- GCC: 9.1 ✅
- Visual C++: 2017 update 6 ✅