Class state_holder¶
class state_holder<T, Stateless> base¶
template <typename T, bool Stateless>
struct state_holder Holds a state value, either by ownership or by reference, depending on the Stateless template parameter.
| T | The state value type. Must not be const-qualified. |
| Stateless | When false, the holder owns a copy of the state. When true, the holder stores a (non-owning) pointer to an externally owned state object. |
Fully qualified name: kfr::state_holder<T, Stateless>
Declared at base/state_holder.hpp:28
Class state_holder¶
class state_holder<T, false> base¶
template <typename T>
struct state_holder<T, false> { … } Owning specialization of state_holder .
constructor state_holder<T, false>() ¶
constexpr state_holder() = delete Fully qualified name: kfr::state_holder<T, false>::state_holder<T, false>()
Declared at base/state_holder.hpp:42
constructor state_holder<T, false>(const state_holder<T, false> &) ¶
constexpr state_holder(const state_holder&) = default Fully qualified name: kfr::state_holder<T, false>::state_holder<T, false>(const state_holder<T, false> &)
Declared at base/state_holder.hpp:43
constructor state_holder<T, false>(state_holder<T, false> &&) ¶
constexpr state_holder(state_holder&&) = default Fully qualified name: kfr::state_holder<T, false>::state_holder<T, false>(state_holder<T, false> &&)
Declared at base/state_holder.hpp:44
constructor state_holder<T, false>(T) ¶
Constructs the holder by moving in a state value.
Fully qualified name: kfr::state_holder<T, false>::state_holder<T, false>(T)
Declared at base/state_holder.hpp:46
constructor state_holder<T, false>(std::reference_wrapper<T>) ¶
constexpr state_holder(std::reference_wrapper<T> state) = delete Fully qualified name: kfr::state_holder<T, false>::state_holder<T, false>(std::reference_wrapper<T>)
Declared at base/state_holder.hpp:47
constructor state_holder<T, false>(std::reference_wrapper<const T>) ¶
constexpr state_holder(std::reference_wrapper<const T> state) = delete Fully qualified name: kfr::state_holder<T, false>::state_holder<T, false>(std::reference_wrapper<const T>)
Declared at base/state_holder.hpp:48
constructor state_holder<T, false>(state_holder<T, true>) ¶
constexpr state_holder(state_holder<T, true> stateless) : s(*stateless) { … } Converts a stateless holder into an owning one by copying the referenced state.
Fully qualified name: kfr::state_holder<T, false>::state_holder<T, false>(state_holder<T, true>)
Declared at base/state_holder.hpp:51
variable s ¶
T s The owned state value.
Fully qualified name: kfr::state_holder<T, false>::s
Declared at base/state_holder.hpp:53
function operator->() ¶
const T* operator->() const Returns a pointer to the state (const overload).
Fully qualified name: kfr::state_holder<T, false>::operator->()
Declared at base/state_holder.hpp:56
function operator->() ¶
T* operator->() Returns a pointer to the state (non-const overload).
Fully qualified name: kfr::state_holder<T, false>::operator->()
Declared at base/state_holder.hpp:58
function operator*() ¶
const T& operator*() const Returns a reference to the state (const overload).
Fully qualified name: kfr::state_holder<T, false>::operator*()
Declared at base/state_holder.hpp:60
function operator*() ¶
T& operator*() Returns a reference to the state (non-const overload).
Fully qualified name: kfr::state_holder<T, false>::operator*()
Declared at base/state_holder.hpp:62
Fully qualified name: kfr::state_holder<T, false>
Declared at base/state_holder.hpp:38
Class state_holder¶
class state_holder<T, true> base¶
template <typename T>
struct state_holder<T, true> { … } Stateless (non-owning) specialization of state_holder .
constructor state_holder<T, true>() ¶
constexpr state_holder() = delete Fully qualified name: kfr::state_holder<T, true>::state_holder<T, true>()
Declared at base/state_holder.hpp:78
constructor state_holder<T, true>(const state_holder<T, true> &) ¶
constexpr state_holder(const state_holder&) = default Fully qualified name: kfr::state_holder<T, true>::state_holder<T, true>(const state_holder<T, true> &)
Declared at base/state_holder.hpp:79
constructor state_holder<T, true>(state_holder<T, true> &&) ¶
constexpr state_holder(state_holder&&) = default Fully qualified name: kfr::state_holder<T, true>::state_holder<T, true>(state_holder<T, true> &&)
Declared at base/state_holder.hpp:80
constructor state_holder<T, true>(T) ¶
constexpr state_holder(T state) noexcept = delete Fully qualified name: kfr::state_holder<T, true>::state_holder<T, true>(T)
Declared at base/state_holder.hpp:81
constructor state_holder<T, true>(const T &) ¶
constexpr state_holder(const T& state) noexcept = delete Fully qualified name: kfr::state_holder<T, true>::state_holder<T, true>(const T &)
Declared at base/state_holder.hpp:82
constructor state_holder<T, true>(T &) ¶
constexpr state_holder(T& state) noexcept = delete Fully qualified name: kfr::state_holder<T, true>::state_holder<T, true>(T &)
Declared at base/state_holder.hpp:83
constructor state_holder<T, true>(T &&) ¶
constexpr state_holder(T&& state) noexcept = delete Fully qualified name: kfr::state_holder<T, true>::state_holder<T, true>(T &&)
Declared at base/state_holder.hpp:84
constructor state_holder<T, true>(std::reference_wrapper<T>) ¶
Constructs the holder from a reference wrapper, storing a pointer to the referenced object.
Fully qualified name: kfr::state_holder<T, true>::state_holder<T, true>(std::reference_wrapper<T>)
Declared at base/state_holder.hpp:87
variable s ¶
T* s Pointer to the externally owned state. Never null for a valid holder.
Fully qualified name: kfr::state_holder<T, true>::s
Declared at base/state_holder.hpp:89
function operator->() ¶
const T* operator->() const Returns a pointer to the state (const overload).
Fully qualified name: kfr::state_holder<T, true>::operator->()
Declared at base/state_holder.hpp:92
function operator->() ¶
T* operator->() Returns a pointer to the state (non-const overload).
Fully qualified name: kfr::state_holder<T, true>::operator->()
Declared at base/state_holder.hpp:94
function operator*() ¶
const T& operator*() const Returns a reference to the state (const overload).
Fully qualified name: kfr::state_holder<T, true>::operator*()
Declared at base/state_holder.hpp:96
function operator*() ¶
T& operator*() Returns a reference to the state (non-const overload).
Fully qualified name: kfr::state_holder<T, true>::operator*()
Declared at base/state_holder.hpp:98
Fully qualified name: kfr::state_holder<T, true>
Declared at base/state_holder.hpp:74