DynXX-Cxx
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
Memory.hxx File Reference
#include <memory>
#include "Types.hxx"
#include "Macro.hxx"

Go to the source code of this file.

Classes

struct  FreeDeleter
 
class  DynXXStaticOnly
 
class  DynXXStackOnly
 
class  DynXXHeapOnly
 
class  DynXXSmartHeapOnly< Derived >
 
struct  DynXXSmartHeapOnly< Derived >::Token
 

Typedefs

using AutoFreePtr = std::unique_ptr< void, FreeDeleter >
 

Functions

const chardupCStr (const char *cstr, size_t len)
 
const chardupStr (std::string_view sv)
 
template<MemcpyableT T>
void memcpyX (const T *src, T *dst, size_t count)
 
template<CharacterT T>
TmallocX (size_t count=1)
 
template<typename T >
requires (!CharacterT<T>)
TmallocX (size_t count=1)
 
template<typename T >
requires (!ConstT<T> && !VoidT<T>)
void freeX (T *&ptr)
 
template<typename T >
requires (!ConstT<T> && VoidT<T>)
void freeX (T *&ptr)
 
template<typename T >
requires (ConstT<T> && !VoidT<T>)
void freeX (T *&ptr)
 
template<typename T >
requires (ConstT<T> && VoidT<T>)
void freeX (T *&ptr)
 
template<InRangeT Src, OutRangeT Dst>
requires std::indirectly_writable< std::ranges::iterator_t<Dst>, std::ranges::range_reference_t<Src> >
void copyRange (const Src &src, Dst &dst, size_t len)
 

Typedef Documentation

◆ AutoFreePtr

Function Documentation

◆ copyRange()

void copyRange ( const Src src,
Dst dst,
size_t  len 
)

◆ dupCStr()

const char * dupCStr ( const char cstr,
size_t  len 
)
inline

◆ dupStr()

const char * dupStr ( std::string_view  sv)
inline

◆ freeX() [1/4]

template<typename T >
requires (!ConstT<T> && !VoidT<T>)
void freeX ( T *&  ptr)

◆ freeX() [2/4]

template<typename T >
requires (!ConstT<T> && VoidT<T>)
void freeX ( T *&  ptr)

◆ freeX() [3/4]

template<typename T >
requires (ConstT<T> && !VoidT<T>)
void freeX ( T *&  ptr)

◆ freeX() [4/4]

template<typename T >
requires (ConstT<T> && VoidT<T>)
void freeX ( T *&  ptr)

◆ mallocX() [1/2]

template<CharacterT T>
T * mallocX ( size_t  count = 1)

◆ mallocX() [2/2]

template<typename T >
requires (!CharacterT<T>)
T * mallocX ( size_t  count = 1)

◆ memcpyX()

template<MemcpyableT T>
void memcpyX ( const T src,
T dst,
size_t  count 
)