TrinityCore
Memory.h File Reference
#include "CompilerDefs.h"
#include <concepts>
#include <memory>
+ Include dependency graph for Memory.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Trinity::Impl::stateful_unique_ptr_deleter< T, Del >
 
struct  Trinity::Impl::stateless_unique_ptr_deleter< T, Del >
 

Namespaces

namespace  Trinity
 
namespace  Trinity::Impl
 

Functions

template<typename Ptr , typename Del >
requires std::invocable<Del, Ptr> && std::is_pointer_v<Ptr>
Impl::stateful_unique_ptr_deleter< Ptr, Del > Trinity::unique_ptr_deleter (Del deleter)
 
template<typename Ptr , auto Del>
requires std::invocable<decltype(Del), Ptr> && std::is_pointer_v<Ptr>
Impl::stateless_unique_ptr_deleter< Ptr, Del > Trinity::unique_ptr_deleter ()
 
template<typename Ptr , typename T = std::remove_pointer_t<Ptr>, typename Del >
requires std::invocable<Del, Ptr> && std::is_pointer_v<Ptr>
std::unique_ptr< T, Impl::stateful_unique_ptr_deleter< Ptr, Del > > Trinity::make_unique_ptr_with_deleter (Ptr ptr, Del deleter)
 
template<auto Del, typename Ptr , typename T = std::remove_pointer_t<Ptr>>
requires std::invocable<decltype(Del), Ptr> && std::is_pointer_v<Ptr>
std::unique_ptr< T, Impl::stateless_unique_ptr_deleter< Ptr, Del > > Trinity::make_unique_ptr_with_deleter (Ptr ptr)