kblib 0.2.3
General utilities library for modern C++
memory.h File Reference

Provides utilities to enable safe and expressive memory management and low-level memory manipulation. More...

#include "algorithm.h"
#include "tdecl.h"
#include <utility>
#include <vector>
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  kblib::null_construct< T, bool >
 
struct  kblib::null_construct< T, true >
 
struct  kblib::detail_memory::filter_deleter_pointer< D, T, V >
 
struct  kblib::detail_memory::filter_deleter_pointer< D, T, void_t< typename D::pointer > >
 
struct  kblib::detail_memory::as_base_class< T, false, true >
 
struct  kblib::detail_memory::as_base_class< T, true, true >
 
struct  kblib::detail_memory::as_base_class< R(&)(A) noexcept(E), false, false >
 
struct  kblib::detail_memory::as_base_class< T &, false, true >
 
struct  kblib::detail_memory::noop_t
 
struct  kblib::detail_memory::value_init
 
struct  kblib::detail_memory::rule_zero< T, Construct, Destroy >
 
struct  kblib::detail_memory::on_destroy< T, D >
 
class  kblib::live_wrapper< T >
 
struct  kblib::live_wrapper< T >::_destroy
 
class  kblib::live_wrapper< const T >
 
struct  kblib::detail_memory::template_param< C< T > >
 
struct  kblib::detail_memory::live_ptr_base< D >
 
class  kblib::live_ptr< T >
 
class  kblib::live_ptr< const mT >
 
class  kblib::cond_ptr< T, Deleter >
 
class  kblib::cond_ptr< T[], Deleter >
 

Namespaces

namespace  kblib
 The main namespace in which all entities from kblib are defined.
 
namespace  kblib::detail_memory
 

Typedefs

template<typename D , typename T >
using kblib::detail_memory::filter_deleter_pointer_t = typename filter_deleter_pointer< D, T >::type
 

Functions

template<typename T , typename Deleter >
auto kblib::make_cond_ptr (std::unique_ptr< T, Deleter > &&arg) noexcept -> cond_ptr< T, Deleter >
 
template<typename T >
auto kblib::make_cond_ptr (T *arg, bool owner=false) noexcept -> cond_ptr< T >
 
template<typename T , typename Deleter >
auto kblib::make_cond_ptr (T *arg, Deleter del) noexcept -> cond_ptr< T, Deleter >
 
template<typename T , typename Deleter >
auto kblib::make_cond_ptr (T *arg, bool owner, Deleter del) noexcept -> cond_ptr< T, Deleter >
 

Detailed Description

Provides utilities to enable safe and expressive memory management and low-level memory manipulation.

Author
killerbee
Date
2019-2021

Definition in file memory.h.