Lugdunum  0.1.0
Functions
Memory.inl File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<typename T , class Arena , class ... Args>
T * new_one (size_t alignment, const char *file, size_t line, Arena &arena, Args &&... args)
 
template<typename T , class Arena >
void delete_one (T *object, Arena &arena)
 
template<typename T , class Arena , class ... Args, typename std::enable_if<!std::is_pod< T >::value, int >::type >
T * 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 >
void delete_array (T *ptr, Arena &arena)
 
template<typename T , class Arena , typename std::enable_if< std::is_pod< T >::value, int >::type >
T * 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 make_unique (Arena &arena, Args &&... args)
 
template<typename T , class Arena , typename ... Args>
priv::make_unique_if< T >::SingleObject 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 >
priv::make_unique_if< T >::UnknownBound 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 >
priv::make_unique_if< T >::UnknownBound 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 >
priv::make_unique_if< T >::UnknownBound make_unique (Arena &arena, size_t size)
 
template<typename T , class Arena , typename std::enable_if< std::is_pod< T >::value, int >::type >
priv::make_unique_if< T >::UnknownBound 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 >
priv::make_unique_if< T >::KnownBound make_unique (Arena &arena, Args &&... args)
 
template<typename T , class Arena , typename ... Args, typename std::enable_if<!std::is_pod< T >::value, int >::type >
priv::make_unique_if< T >::KnownBound 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 >
priv::make_unique_if< T >::KnownBound make_unique (Arena &arena)
 
template<typename T , class Arena , typename std::enable_if< std::is_pod< T >::value, int >::type >
priv::make_unique_if< T >::KnownBound make_unique_align (Arena &arena, size_t alignment)
 

Function Documentation

◆ new_one()

template<typename T , class Arena , class ... Args>
T* new_one ( size_t  alignment,
const char *  file,
size_t  line,
Arena &  arena,
Args &&...  args 
)
inline

Definition at line 2 of file Memory.inl.

◆ delete_one()

template<typename T , class Arena >
void delete_one ( T *  object,
Arena &  arena 
)
inline

Definition at line 13 of file Memory.inl.

◆ new_array() [1/2]

template<typename T , class Arena , class ... Args, typename std::enable_if<!std::is_pod< T >::value, int >::type >
T* new_array ( size_t  alignment,
size_t  nb,
const char *  file,
size_t  line,
Arena &  arena,
Args &&...  args 
)
inline

Definition at line 22 of file Memory.inl.

◆ delete_array()

template<typename T , class Arena , typename std::enable_if<!std::is_pod< T >::value, int >::type >
void delete_array ( T *  ptr,
Arena &  arena 
)
inline

Definition at line 47 of file Memory.inl.

◆ new_array() [2/2]

template<typename T , class Arena , typename std::enable_if< std::is_pod< T >::value, int >::type >
T* new_array ( size_t  alignment,
size_t  nb,
const char *  file,
size_t  line,
Arena &  arena 
)
inline

Definition at line 66 of file Memory.inl.

◆ make_unique() [1/5]

template<typename T , class Arena , typename ... Args>
priv::make_unique_if<T>::SingleObject make_unique ( Arena &  arena,
Args &&...  args 
)
inline

Definition at line 84 of file Memory.inl.

◆ make_unique_align() [1/5]

template<typename T , class Arena , typename ... Args>
priv::make_unique_if<T>::SingleObject make_unique_align ( Arena &  arena,
size_t  alignment,
Args &&...  args 
)

Definition at line 89 of file Memory.inl.

◆ make_unique() [2/5]

template<typename T , class Arena , typename ... Args, typename std::enable_if<!std::is_pod< T >::value, int >::type >
priv::make_unique_if<T>::UnknownBound make_unique ( Arena &  arena,
size_t  size,
Args &&...  args 
)
inline

Definition at line 102 of file Memory.inl.

◆ make_unique_align() [2/5]

template<typename T , class Arena , typename ... Args, typename std::enable_if<!std::is_pod< T >::value, int >::type >
priv::make_unique_if<T>::UnknownBound make_unique_align ( Arena &  arena,
size_t  alignment,
size_t  size,
Args &&...  args 
)

Definition at line 107 of file Memory.inl.

◆ make_unique() [3/5]

template<typename T , class Arena , typename std::enable_if< std::is_pod< T >::value, int >::type >
priv::make_unique_if<T>::UnknownBound make_unique ( Arena &  arena,
size_t  size 
)
inline

Definition at line 121 of file Memory.inl.

◆ make_unique_align() [3/5]

template<typename T , class Arena , typename std::enable_if< std::is_pod< T >::value, int >::type >
priv::make_unique_if<T>::UnknownBound make_unique_align ( Arena &  arena,
size_t  alignment,
size_t  size 
)

Definition at line 126 of file Memory.inl.

◆ make_unique() [4/5]

template<typename T , class Arena , typename ... Args, typename std::enable_if<!std::is_pod< T >::value, int >::type >
priv::make_unique_if<T>::KnownBound make_unique ( Arena &  arena,
Args &&...  args 
)
inline

Definition at line 141 of file Memory.inl.

◆ make_unique_align() [4/5]

template<typename T , class Arena , typename ... Args, typename std::enable_if<!std::is_pod< T >::value, int >::type >
priv::make_unique_if<T>::KnownBound make_unique_align ( Arena &  arena,
size_t  alignment,
Args &&...  args 
)

Definition at line 146 of file Memory.inl.

◆ make_unique() [5/5]

template<typename T , class Arena , typename std::enable_if< std::is_pod< T >::value, int >::type >
priv::make_unique_if<T>::KnownBound make_unique ( Arena &  arena)

Definition at line 160 of file Memory.inl.

◆ make_unique_align() [5/5]

template<typename T , class Arena , typename std::enable_if< std::is_pod< T >::value, int >::type >
priv::make_unique_if<T>::KnownBound make_unique_align ( Arena &  arena,
size_t  alignment 
)

Definition at line 165 of file Memory.inl.