|
momo
3.12
|
#include <ObjectManager.h>
Public Types | |
| typedef TObject | Object |
| typedef TMemManager | MemManager |
| template<typename... Args> | |
| using | Creator = ObjectCreator< Object, MemManager, Args... > |
| typedef ObjectDestroyer< Object, MemManager > | Destroyer |
| typedef ObjectRelocator< Object, MemManager > | Relocator |
| typedef ObjectDestroyFinalizer< Object, MemManager > | DestroyFinalizer |
Static Public Member Functions | |
| static void | Move (MemManager &memManager, Object &&srcObject, Object *dstObject) noexcept(isNothrowMoveConstructible) |
| static void | Copy (MemManager &memManager, const Object &srcObject, Object *dstObject) |
| template<typename Executor > | |
| static void | MoveExec (MemManager &memManager, Object &&srcObject, Object *dstObject, Executor &&exec) |
| template<typename Executor > | |
| static void | CopyExec (MemManager &memManager, const Object &srcObject, Object *dstObject, Executor &&exec) |
| static void | Destroy (MemManager &memManager, Object &object) noexcept |
| template<typename Iterator > | |
| static void | Destroy (MemManager &memManager, Iterator begin, size_t count) noexcept |
| static void | Relocate (MemManager &memManager, Object &srcObject, Object *dstObject) noexcept(isNothrowRelocatable) |
| static void | AssignAnyway (MemManager &memManager, Object &srcObject, Object &dstObject) noexcept(isNothrowAnywayAssignable) |
| static void | Replace (MemManager &memManager, Object &srcObject, Object &dstObject) noexcept(isNothrowAnywayAssignable) |
| static void | ReplaceRelocate (MemManager &memManager, Object &srcObject, Object &midObject, Object *dstObject) noexcept(isNothrowRelocatable) |
| template<typename Iterator > | |
| static void | Relocate (MemManager &memManager, Iterator srcBegin, Iterator dstBegin, size_t count) noexcept(isNothrowRelocatable) |
| template<typename Iterator , typename ObjectCreator > | |
| static void | RelocateCreate (MemManager &memManager, Iterator srcBegin, Iterator dstBegin, size_t count, ObjectCreator &&objectCreator, Object *newObject) |
| template<typename Iterator , typename Executor > | |
| static void | RelocateExec (MemManager &memManager, Iterator srcBegin, Iterator dstBegin, size_t count, Executor &&exec) |
| template<typename Iterator > | |
| static void | ShiftNothrow (MemManager &memManager, Iterator begin, size_t shift) noexcept |
Static Public Attributes | |
| static const bool | isTriviallyRelocatable = Relocator::isTriviallyRelocatable |
| static const bool | isNothrowRelocatable = Relocator::isNothrowRelocatable |
| static const bool | isNothrowMoveConstructible |
| static const bool | isNothrowSwappable = IsNothrowSwappable<Object>::GetValue() |
| static const bool | isNothrowAnywayAssignable |
| static const bool | isNothrowShiftable = isNothrowRelocatable || isNothrowSwappable |
| static const size_t | alignment = ObjectAlignmenter<Object>::alignment |
| using momo::internal::ObjectManager< TObject, TMemManager >::Creator = ObjectCreator<Object, MemManager, Args...> |
| typedef ObjectDestroyer<Object, MemManager> momo::internal::ObjectManager< TObject, TMemManager >::Destroyer |
| typedef ObjectDestroyFinalizer<Object, MemManager> momo::internal::ObjectManager< TObject, TMemManager >::DestroyFinalizer |
| typedef TMemManager momo::internal::ObjectManager< TObject, TMemManager >::MemManager |
| typedef TObject momo::internal::ObjectManager< TObject, TMemManager >::Object |
| typedef ObjectRelocator<Object, MemManager> momo::internal::ObjectManager< TObject, TMemManager >::Relocator |
|
inlinestaticnoexcept |
|
inlinestatic |
|
inlinestatic |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestatic |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestatic |
|
inlinestatic |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
inlinestaticnoexcept |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |