Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
storage.hpp File Reference

Classes

class  mundy::storage< T >
 Own or view a value using a simple normalized storage policy. More...

Namespaces

namespace  mundy

Typedefs

template<class T>
using mundy::store_input_type_t = impl::store_input_type_t<T>
 The type storage<T> normalizes an input of type T to before deciding its stored_type/value_type. Useful for a class's own deduction guide when its constructor forwards straight into a storage<...> member, so the guide's deduced template argument matches what storage(value)/store(value) would produce for that same input.

Functions

template<class T>
 mundy::storage (T &&) -> storage< store_input_type_t< T > >
 CTAD applies the same input normalization as store(), so direct construction (storage(value)) and store() always agree, including for a storage input, which both resolve to storage itself rather than nesting.
template<class T>
constexpr auto mundy::store (T &&value) noexcept(noexcept(storage(std::forward< T >(value)))) -> storage< store_input_type_t< T > >
 Create a storage object from a forwarding reference. Equivalent to direct construction: storage(value).