kblib 0.2.3
General utilities library for modern C++
kblib::heap_value< T > Class Template Reference

#include <kblib/fakestd.h>

Public Types

using element_type = T
 
using pointer = T *
 
using const_pointer = const T *
 
using reference = T &
 
using const_reference = const T &
 

Public Member Functions

constexpr heap_value () noexcept
 
constexpr heap_value (std::nullptr_t) noexcept
 
template<typename... Args, enable_if_t< std::is_constructible< T, Args... >::value > = 0>
 heap_value (fakestd::in_place_t, Args &&... args)
 
template<typename... Args>
 heap_value (in_place_agg_t, Args &&... args)
 
 heap_value (const heap_value &u)
 
 heap_value (heap_value &&u) noexcept
 
auto operator= (const heap_value &u) &-> heap_value &
 
auto operator= (heap_value &&u) &noexcept -> heap_value &
 
auto operator= (const T &val) &-> heap_value &
 
auto operator= (T &&val) &-> heap_value &
 
auto assign () &-> void
 
auto assign (const T &val) &-> void
 
auto assign (T &&val) &-> void
 
template<typename... Args, enable_if_t< std::is_constructible< T, Args... >::value > = 0>
auto assign (fakestd::in_place_t, Args &&... args) -> void
 
template<typename... Args>
auto assign (in_place_agg_t, Args &&... args) -> void
 
auto reset () noexcept -> void
 
 operator bool () const &noexcept
 
constexpr auto swap (heap_value &other) noexcept -> void
 
auto get () &noexcept -> pointer
 
auto get () const &noexcept -> const_pointer
 
auto value () &noexcept -> reference
 
auto value () const &noexcept -> const_reference
 
auto value () &&noexcept -> T &&
 
auto value () const &&noexcept -> const T &&
 
auto operator* () &noexcept -> reference
 
auto operator* () const &noexcept -> const_reference
 
auto operator* () &&noexcept -> T &&
 
auto operator* () const &&noexcept -> const T &&
 
auto operator-> () &noexcept -> pointer
 
auto operator-> () const &noexcept -> const_pointer
 
 ~heap_value ()=default
 

Detailed Description

template<typename T>
class kblib::heap_value< T >

Definition at line 1110 of file fakestd.h.

Member Typedef Documentation

◆ const_pointer

template<typename T >
using kblib::heap_value< T >::const_pointer = const T*

Definition at line 1114 of file fakestd.h.

◆ const_reference

template<typename T >
using kblib::heap_value< T >::const_reference = const T&

Definition at line 1116 of file fakestd.h.

◆ element_type

template<typename T >
using kblib::heap_value< T >::element_type = T

Definition at line 1112 of file fakestd.h.

◆ pointer

template<typename T >
using kblib::heap_value< T >::pointer = T*

Definition at line 1113 of file fakestd.h.

◆ reference

template<typename T >
using kblib::heap_value< T >::reference = T&

Definition at line 1115 of file fakestd.h.

Constructor & Destructor Documentation

◆ heap_value() [1/6]

template<typename T >
constexpr kblib::heap_value< T >::heap_value ( )
inlineconstexprnoexcept

Definition at line 1118 of file fakestd.h.

◆ heap_value() [2/6]

template<typename T >
constexpr kblib::heap_value< T >::heap_value ( std::nullptr_t  )
inlineconstexprnoexcept

Definition at line 1120 of file fakestd.h.

◆ heap_value() [3/6]

template<typename T >
template<typename... Args, enable_if_t< std::is_constructible< T, Args... >::value > = 0>
kblib::heap_value< T >::heap_value ( fakestd::in_place_t  ,
Args &&...  args 
)
inline

Definition at line 1125 of file fakestd.h.

◆ heap_value() [4/6]

template<typename T >
template<typename... Args>
kblib::heap_value< T >::heap_value ( in_place_agg_t  ,
Args &&...  args 
)
inline

Definition at line 1128 of file fakestd.h.

◆ heap_value() [5/6]

template<typename T >
kblib::heap_value< T >::heap_value ( const heap_value< T > &  u)
inline

Definition at line 1131 of file fakestd.h.

◆ heap_value() [6/6]

template<typename T >
kblib::heap_value< T >::heap_value ( heap_value< T > &&  u)
inlinenoexcept

Definition at line 1133 of file fakestd.h.

◆ ~heap_value()

template<typename T >
kblib::heap_value< T >::~heap_value ( )
default

Member Function Documentation

◆ assign() [1/5]

template<typename T >
auto kblib::heap_value< T >::assign ( ) & -> void
inline

Definition at line 1170 of file fakestd.h.

◆ assign() [2/5]

template<typename T >
auto kblib::heap_value< T >::assign ( const T &  val) & -> void
inline

Definition at line 1171 of file fakestd.h.

◆ assign() [3/5]

template<typename T >
template<typename... Args, enable_if_t< std::is_constructible< T, Args... >::value > = 0>
auto kblib::heap_value< T >::assign ( fakestd::in_place_t  ,
Args &&...  args 
) -> void
inline

Definition at line 1175 of file fakestd.h.

◆ assign() [4/5]

template<typename T >
template<typename... Args>
auto kblib::heap_value< T >::assign ( in_place_agg_t  ,
Args &&...  args 
) -> void
inline

Definition at line 1179 of file fakestd.h.

◆ assign() [5/5]

template<typename T >
auto kblib::heap_value< T >::assign ( T &&  val) & -> void
inline

Definition at line 1172 of file fakestd.h.

◆ get() [1/2]

template<typename T >
auto kblib::heap_value< T >::get ( ) & -> pointer
inlinenoexcept

Definition at line 1196 of file fakestd.h.

◆ get() [2/2]

template<typename T >
auto kblib::heap_value< T >::get ( ) const & -> const_pointer
inlinenoexcept

Definition at line 1197 of file fakestd.h.

◆ operator bool()

template<typename T >
kblib::heap_value< T >::operator bool ( ) const &
inlineexplicitnoexcept

Definition at line 1188 of file fakestd.h.

◆ operator*() [1/4]

template<typename T >
auto kblib::heap_value< T >::operator* ( ) && -> T&&
inlinenoexcept

Definition at line 1212 of file fakestd.h.

◆ operator*() [2/4]

template<typename T >
auto kblib::heap_value< T >::operator* ( ) & -> reference
inlinenoexcept

Definition at line 1208 of file fakestd.h.

◆ operator*() [3/4]

template<typename T >
auto kblib::heap_value< T >::operator* ( ) const && -> const T&&
inlinenoexcept

Definition at line 1213 of file fakestd.h.

◆ operator*() [4/4]

template<typename T >
auto kblib::heap_value< T >::operator* ( ) const & -> const_reference
inlinenoexcept

Definition at line 1209 of file fakestd.h.

◆ operator->() [1/2]

template<typename T >
auto kblib::heap_value< T >::operator-> ( ) & -> pointer
inlinenoexcept

Definition at line 1215 of file fakestd.h.

◆ operator->() [2/2]

template<typename T >
auto kblib::heap_value< T >::operator-> ( ) const & -> const_pointer
inlinenoexcept

Definition at line 1216 of file fakestd.h.

◆ operator=() [1/4]

template<typename T >
auto kblib::heap_value< T >::operator= ( const heap_value< T > &  u) & -> heap_value&
inline

Definition at line 1136 of file fakestd.h.

◆ operator=() [2/4]

template<typename T >
auto kblib::heap_value< T >::operator= ( const T &  val) & -> heap_value&
inline

Definition at line 1157 of file fakestd.h.

◆ operator=() [3/4]

template<typename T >
auto kblib::heap_value< T >::operator= ( heap_value< T > &&  u) & -> heap_value&
inlinenoexcept

Definition at line 1149 of file fakestd.h.

◆ operator=() [4/4]

template<typename T >
auto kblib::heap_value< T >::operator= ( T &&  val) & -> heap_value&
inline

Definition at line 1163 of file fakestd.h.

◆ reset()

template<typename T >
auto kblib::heap_value< T >::reset ( ) -> void
inlinenoexcept

Definition at line 1183 of file fakestd.h.

◆ swap()

template<typename T >
constexpr auto kblib::heap_value< T >::swap ( heap_value< T > &  other) -> void
inlineconstexprnoexcept

Definition at line 1192 of file fakestd.h.

◆ value() [1/4]

template<typename T >
auto kblib::heap_value< T >::value ( ) && -> T&&
inlinenoexcept

Definition at line 1205 of file fakestd.h.

◆ value() [2/4]

template<typename T >
auto kblib::heap_value< T >::value ( ) & -> reference
inlinenoexcept

Definition at line 1201 of file fakestd.h.

◆ value() [3/4]

template<typename T >
auto kblib::heap_value< T >::value ( ) const && -> const T&&
inlinenoexcept

Definition at line 1206 of file fakestd.h.

◆ value() [4/4]

template<typename T >
auto kblib::heap_value< T >::value ( ) const & -> const_reference
inlinenoexcept

Definition at line 1202 of file fakestd.h.


The documentation for this class was generated from the following file: