kblib 0.2.3
General utilities library for modern C++
kblib::detail_direct_map::storage_for< T, bool > Struct Template Reference

#include <kblib/direct_map.h>

Inheritance diagram for kblib::detail_direct_map::storage_for< T, bool >:
Collaboration diagram for kblib::detail_direct_map::storage_for< T, bool >:

Public Member Functions

template<typename... Args, enable_if_t< std::is_constructible< T, Args &&... >::value, int > = 0>
constexpr auto construct (Args &&... args) noexcept(std::is_nothrow_constructible< T, Args &&... >::value) -> T &
 
 storage_for ()=default
 
 storage_for (const storage_for &)=delete
 
 storage_for (storage_for &&)=delete
 
auto operator= (const storage_for &) -> storage_for &=delete
 
auto operator= (storage_for &&) -> storage_for &=delete
 
 ~storage_for ()=default
 
constexpr auto destroy () noexcept -> void
 
KBLIB_NODISCARD constexpr auto get () &noexcept -> T *
 
KBLIB_NODISCARD constexpr auto get () const &noexcept -> const T *
 

Detailed Description

template<typename T, bool = std::is_trivially_default_constructible<T>::value and std::is_trivially_destructible<T>::value>
struct kblib::detail_direct_map::storage_for< T, bool >

Definition at line 68 of file direct_map.h.

Constructor & Destructor Documentation

◆ storage_for() [1/3]

template<typename T , bool = std::is_trivially_default_constructible<T>::value and std::is_trivially_destructible<T>::value>
kblib::detail_direct_map::storage_for< T, bool >::storage_for ( )
default

◆ storage_for() [2/3]

template<typename T , bool = std::is_trivially_default_constructible<T>::value and std::is_trivially_destructible<T>::value>
kblib::detail_direct_map::storage_for< T, bool >::storage_for ( const storage_for< T, bool > &  )
delete

◆ storage_for() [3/3]

template<typename T , bool = std::is_trivially_default_constructible<T>::value and std::is_trivially_destructible<T>::value>
kblib::detail_direct_map::storage_for< T, bool >::storage_for ( storage_for< T, bool > &&  )
delete

◆ ~storage_for()

template<typename T , bool = std::is_trivially_default_constructible<T>::value and std::is_trivially_destructible<T>::value>
kblib::detail_direct_map::storage_for< T, bool >::~storage_for ( )
default

Member Function Documentation

◆ construct()

template<typename T , bool = std::is_trivially_default_constructible<T>::value and std::is_trivially_destructible<T>::value>
template<typename... Args, enable_if_t< std::is_constructible< T, Args &&... >::value, int > = 0>
constexpr auto kblib::detail_direct_map::storage_for< T, bool >::construct ( Args &&...  args) -> T&
inlineconstexprnoexcept

Definition at line 72 of file direct_map.h.

◆ destroy()

template<typename T , bool = std::is_trivially_default_constructible<T>::value and std::is_trivially_destructible<T>::value>
constexpr auto kblib::detail_direct_map::storage_for< T, bool >::destroy ( ) -> void
inlineconstexprnoexcept

Definition at line 85 of file direct_map.h.

◆ get() [1/2]

template<typename T , bool = std::is_trivially_default_constructible<T>::value and std::is_trivially_destructible<T>::value>
KBLIB_NODISCARD constexpr auto kblib::detail_direct_map::storage_for< T, bool >::get ( ) & -> T*
inlineconstexprnoexcept

Definition at line 92 of file direct_map.h.

◆ get() [2/2]

template<typename T , bool = std::is_trivially_default_constructible<T>::value and std::is_trivially_destructible<T>::value>
KBLIB_NODISCARD constexpr auto kblib::detail_direct_map::storage_for< T, bool >::get ( ) const & -> const T*
inlineconstexprnoexcept

Definition at line 95 of file direct_map.h.

◆ operator=() [1/2]

template<typename T , bool = std::is_trivially_default_constructible<T>::value and std::is_trivially_destructible<T>::value>
auto kblib::detail_direct_map::storage_for< T, bool >::operator= ( const storage_for< T, bool > &  ) -> storage_for &=delete
delete

◆ operator=() [2/2]

template<typename T , bool = std::is_trivially_default_constructible<T>::value and std::is_trivially_destructible<T>::value>
auto kblib::detail_direct_map::storage_for< T, bool >::operator= ( storage_for< T, bool > &&  ) -> storage_for &=delete
delete

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