kblib 0.2.3
General utilities library for modern C++
|
#include <kblib/delayed_construct.h>
Public Member Functions | |
template<typename... Ts> | |
delayed_construct (Ts &&... args) | |
template<typename U , std::enable_if_t< std::is_assignable_v< T &, U && >, int > = 0> | |
auto | operator= (U &&t) -> delayed_construct & |
auto | operator= (std::nullopt_t) -> delayed_construct &=delete |
template<typename... Ts> | |
auto | emplace (Ts &&... args) const -> decltype(auto) |
delayed_construct (const delayed_construct &)=default | |
delayed_construct (delayed_construct &&)=default | |
auto | operator= (const delayed_construct &) -> delayed_construct &=default |
auto | operator= (delayed_construct &&) -> delayed_construct &=default |
~delayed_construct ()=default | |
auto | operator-> () const -> decltype(auto) |
auto | operator* () const -> decltype(auto) |
auto | value () const -> decltype(auto) |
operator bool () const | |
constexpr auto | is_constructed () const noexcept -> bool |
Protected Attributes | |
Base | storage |
Friends | |
struct | std::hash< delayed_construct< T > > |
struct | FNV_hash< delayed_construct< T > > |
Equality | |
Two delayed_construct<T> objects are equal if either neither contains a value, or if both contain the same value. std::nullopt_t is equivalent to a non-constructed object, and a value is equivalent to a constructed one. | |
constexpr auto | operator== (const delayed_construct &lhs, const delayed_construct &rhs) noexcept -> bool |
template<typename U > | |
constexpr auto | operator== (const delayed_construct &lhs, const delayed_construct< U > &rhs) noexcept -> bool |
constexpr auto | operator== (const delayed_construct &lhs, std::nullopt_t rhs) noexcept -> bool |
constexpr auto | operator== (std::nullopt_t lhs, const delayed_construct &rhs) noexcept -> bool |
template<typename U > | |
constexpr auto | operator== (const delayed_construct &opt, const U &value) noexcept -> bool |
template<typename U > | |
constexpr auto | operator== (const U &value, const delayed_construct &opt) noexcept -> bool |
constexpr auto | operator!= (const delayed_construct &lhs, const delayed_construct &rhs) noexcept -> bool |
template<typename U > | |
constexpr auto | operator!= (const delayed_construct &lhs, const delayed_construct< U > &rhs) noexcept -> bool |
constexpr auto | operator!= (const delayed_construct &lhs, std::nullopt_t rhs) noexcept -> bool |
constexpr auto | operator!= (std::nullopt_t lhs, const delayed_construct &rhs) noexcept -> bool |
template<typename U > | |
constexpr auto | operator!= (const delayed_construct &opt, const U &value) noexcept -> bool |
template<typename U > | |
constexpr auto | operator!= (const U &value, const delayed_construct &opt) noexcept -> bool |
Comparison | |
A non-constructed delayed_construct<T> object is less than any constructed one. std::nullopt_t is equivalent to a non-constructed object, and a value is equivalent to a constructed one. | |
constexpr auto | operator< (const delayed_construct &lhs, const delayed_construct &rhs) noexcept -> bool |
template<typename U > | |
constexpr auto | operator< (const delayed_construct &lhs, const delayed_construct< U > &rhs) noexcept -> bool |
constexpr auto | operator< (const delayed_construct &lhs, std::nullopt_t rhs) noexcept -> bool |
constexpr auto | operator< (std::nullopt_t lhs, const delayed_construct &rhs) noexcept -> bool |
template<typename U > | |
constexpr auto | operator< (const delayed_construct &opt, const U &value) noexcept -> bool |
template<typename U > | |
constexpr auto | operator< (const U &value, const delayed_construct &opt) noexcept -> bool |
constexpr auto | operator<= (const delayed_construct &lhs, const delayed_construct &rhs) noexcept -> bool |
template<typename U > | |
constexpr auto | operator<= (const delayed_construct &lhs, const delayed_construct< U > &rhs) noexcept -> bool |
constexpr auto | operator<= (const delayed_construct &lhs, std::nullopt_t rhs) noexcept -> bool |
constexpr auto | operator<= (std::nullopt_t lhs, const delayed_construct &rhs) noexcept -> bool |
template<typename U > | |
constexpr auto | operator<= (const delayed_construct &opt, const U &value) noexcept -> bool |
template<typename U > | |
constexpr auto | operator<= (const U &value, const delayed_construct &opt) noexcept -> bool |
constexpr auto | operator> (const delayed_construct &lhs, const delayed_construct &rhs) noexcept -> bool |
template<typename U > | |
constexpr auto | operator> (const delayed_construct &lhs, const delayed_construct< U > &rhs) noexcept -> bool |
constexpr auto | operator> (const delayed_construct &lhs, std::nullopt_t rhs) noexcept -> bool |
constexpr auto | operator> (std::nullopt_t lhs, const delayed_construct &rhs) noexcept -> bool |
template<typename U > | |
constexpr auto | operator> (const delayed_construct &opt, const U &value) noexcept -> bool |
template<typename U > | |
constexpr auto | operator> (const U &value, const delayed_construct &opt) noexcept -> bool |
constexpr auto | operator>= (const delayed_construct &lhs, const delayed_construct &rhs) noexcept -> bool |
template<typename U > | |
constexpr auto | operator>= (const delayed_construct &lhs, const delayed_construct< U > &rhs) noexcept -> bool |
constexpr auto | operator>= (const delayed_construct &lhs, std::nullopt_t rhs) noexcept -> bool |
constexpr auto | operator>= (std::nullopt_t lhs, const delayed_construct &rhs) noexcept -> bool |
template<typename U > | |
constexpr auto | operator>= (const delayed_construct &opt, const U &value) noexcept -> bool |
template<typename U > | |
constexpr auto | operator>= (const U &value, const delayed_construct &opt) noexcept -> bool |
Definition at line 51 of file delayed_construct.h.
|
inline |
Definition at line 61 of file delayed_construct.h.
|
default |
|
default |
|
default |
|
inline |
Definition at line 72 of file delayed_construct.h.
|
inlineconstexprnoexcept |
Definition at line 86 of file delayed_construct.h.
|
inlineexplicit |
Definition at line 85 of file delayed_construct.h.
|
inline |
Definition at line 83 of file delayed_construct.h.
|
inline |
Definition at line 82 of file delayed_construct.h.
|
default |
|
default |
|
delete |
|
inline |
Definition at line 65 of file delayed_construct.h.
|
inline |
Definition at line 84 of file delayed_construct.h.
|
friend |
Definition at line 166 of file delayed_construct.h.
|
friend |
Definition at line 153 of file delayed_construct.h.
|
friend |
Definition at line 153 of file delayed_construct.h.
|
friend |
Definition at line 153 of file delayed_construct.h.
|
friend |
Definition at line 153 of file delayed_construct.h.
|
friend |
Definition at line 153 of file delayed_construct.h.
|
friend |
Definition at line 153 of file delayed_construct.h.
|
friend |
Definition at line 163 of file delayed_construct.h.
|
friend |
Definition at line 163 of file delayed_construct.h.
|
friend |
Definition at line 163 of file delayed_construct.h.
|
friend |
Definition at line 163 of file delayed_construct.h.
|
friend |
Definition at line 163 of file delayed_construct.h.
|
friend |
Definition at line 163 of file delayed_construct.h.
|
friend |
Definition at line 164 of file delayed_construct.h.
|
friend |
Definition at line 164 of file delayed_construct.h.
|
friend |
Definition at line 164 of file delayed_construct.h.
|
friend |
Definition at line 164 of file delayed_construct.h.
|
friend |
Definition at line 164 of file delayed_construct.h.
|
friend |
Definition at line 164 of file delayed_construct.h.
|
friend |
Definition at line 152 of file delayed_construct.h.
|
friend |
Definition at line 152 of file delayed_construct.h.
|
friend |
Definition at line 152 of file delayed_construct.h.
|
friend |
Definition at line 152 of file delayed_construct.h.
|
friend |
Definition at line 152 of file delayed_construct.h.
|
friend |
Definition at line 152 of file delayed_construct.h.
|
friend |
Definition at line 165 of file delayed_construct.h.
|
friend |
Definition at line 165 of file delayed_construct.h.
|
friend |
Definition at line 165 of file delayed_construct.h.
|
friend |
Definition at line 165 of file delayed_construct.h.
|
friend |
Definition at line 165 of file delayed_construct.h.
|
friend |
Definition at line 165 of file delayed_construct.h.
|
friend |
Definition at line 166 of file delayed_construct.h.
|
friend |
Definition at line 166 of file delayed_construct.h.
|
friend |
Definition at line 166 of file delayed_construct.h.
|
friend |
Definition at line 166 of file delayed_construct.h.
|
friend |
Definition at line 166 of file delayed_construct.h.
|
friend |
Definition at line 166 of file delayed_construct.h.
|
friend |
Definition at line 166 of file delayed_construct.h.
|
protected |
Definition at line 56 of file delayed_construct.h.