|
#define | LUG_NEW_ALIGN(T, alignment, ...) ::lug::System::Memory::new_one<T>(alignment, __FILE__, __LINE__, __VA_ARGS__) |
|
#define | LUG_NEW_ARRAY_ALIGN(T, alignment, ...) LUG_NEW_ARRAY_ALIGN_SIZE(typename std::remove_all_extents<T>::type, alignment, std::extent<T>::value, __VA_ARGS__) |
|
#define | LUG_NEW_ARRAY_ALIGN_SIZE(T, alignment, size, ...) ::lug::System::Memory::new_array<typename std::remove_all_extents<T>::type>(alignment, size, __FILE__, __LINE__, __VA_ARGS__) |
|
#define | LUG_NEW(T, ...) LUG_NEW_ALIGN(T, alignof(T), __VA_ARGS__) |
|
#define | LUG_DELETE(object, arena) ::lug::System::Memory::delete_one(object, arena) |
|
#define | LUG_NEW_ARRAY(T, ...) LUG_NEW_ARRAY_ALIGN(T, alignof(typename std::remove_all_extents<T>::type), __VA_ARGS__) |
|
#define | LUG_NEW_ARRAY_SIZE(T, size, ...) LUG_NEW_ARRAY_ALIGN_SIZE(T, alignof(typename std::remove_all_extents<T>::type), size, __VA_ARGS__) |
|
#define | LUG_DELETE_ARRAY(object, arena) ::lug::System::Memory::delete_array(object, arena) |
|
|
template<typename T , class Arena , class ... Args> |
T * | lug::System::Memory::new_one (size_t alignment, const char *file, size_t line, Arena &arena, Args &&... args) |
|
template<typename T , class Arena > |
void | lug::System::Memory::delete_one (T *object, Arena &arena) |
|
template<typename T , class Arena , class ... Args, typename std::enable_if<!std::is_pod< T >::value, int >::type = 0> |
T * | lug::System::Memory::new_array (size_t alignment, size_t nb, const char *file, size_t line, Arena &arena, Args &&... args) |
|
template<typename T , class Arena , typename std::enable_if<!std::is_pod< T >::value, int >::type = 0> |
void | lug::System::Memory::delete_array (T *ptr, Arena &arena) |
|
template<typename T , class Arena , typename std::enable_if< std::is_pod< T >::value, int >::type = 0> |
T * | lug::System::Memory::new_array (size_t alignment, size_t nb, const char *file, size_t line, Arena &arena) |
|
template<typename T , class Arena , typename ... Args> |
priv::make_unique_if< T >::SingleObject | lug::System::Memory::make_unique (Arena &arena, Args &&... args) |
|
template<typename T , class Arena , typename ... Args> |
priv::make_unique_if< T >::SingleObject | lug::System::Memory::make_unique_align (Arena &arena, size_t alignment, Args &&... args) |
|
template<typename T , class Arena , typename ... Args, typename std::enable_if<!std::is_pod< T >::value, int >::type = 0> |
priv::make_unique_if< T >::UnknownBound | lug::System::Memory::make_unique (Arena &arena, size_t size, Args &&... args) |
|
template<typename T , class Arena , typename ... Args, typename std::enable_if<!std::is_pod< T >::value, int >::type = 0> |
priv::make_unique_if< T >::UnknownBound | lug::System::Memory::make_unique_align (Arena &arena, size_t alignment, size_t size, Args &&... args) |
|
template<typename T , class Arena , typename std::enable_if< std::is_pod< T >::value, int >::type = 0> |
priv::make_unique_if< T >::UnknownBound | lug::System::Memory::make_unique (Arena &arena, size_t size) |
|
template<typename T , class Arena , typename std::enable_if< std::is_pod< T >::value, int >::type = 0> |
priv::make_unique_if< T >::UnknownBound | lug::System::Memory::make_unique_align (Arena &arena, size_t alignment, size_t size) |
|
template<typename T , class Arena , typename ... Args, typename std::enable_if<!std::is_pod< T >::value, int >::type = 0> |
priv::make_unique_if< T >::KnownBound | lug::System::Memory::make_unique (Arena &arena, Args &&... args) |
|
template<typename T , class Arena , typename ... Args, typename std::enable_if<!std::is_pod< T >::value, int >::type = 0> |
priv::make_unique_if< T >::KnownBound | lug::System::Memory::make_unique_align (Arena &arena, size_t alignment, Args &&... args) |
|
template<typename T , class Arena , typename std::enable_if< std::is_pod< T >::value, int >::type = 0> |
priv::make_unique_if< T >::KnownBound | lug::System::Memory::make_unique (Arena &arena) |
|
template<typename T , class Arena , typename std::enable_if< std::is_pod< T >::value, int >::type = 0> |
priv::make_unique_if< T >::KnownBound | lug::System::Memory::make_unique_align (Arena &arena, size_t alignment) |
|