#include <di/util/reference_wrapper.h>
Public Types | |
| using | Value = T |
Public Member Functions | |
| constexpr | ReferenceWrapper (vocab::NullOpt) |
| template<typename U> requires (!concepts::ReferenceWrapper<meta::Decay<U>> && requires { get_address(util::declval<U>()); }) | |
| constexpr | ReferenceWrapper (U &&value) |
| constexpr | ReferenceWrapper (ReferenceWrapper const &)=default |
| constexpr auto | operator= (ReferenceWrapper const &) -> ReferenceWrapper &=default |
| constexpr | operator T& () const |
| constexpr auto | get () const -> T & |
| template<typename... Args> requires (concepts::Invocable<T&, Args...>) | |
| constexpr auto | operator() (Args &&... args) const -> meta::InvokeResult< T &, Args... > |
Static Public Member Functions | |
| static constexpr void | get_address (T &&)=delete |
Friends | |
| constexpr friend auto | tag_invoke (types::Tag< vocab::is_nullopt >, ReferenceWrapper const &self) -> bool |
| constexpr friend auto | tag_invoke (types::Tag< vocab::get_value >, ReferenceWrapper const &self) -> T & |
| constexpr friend void | tag_invoke (types::Tag< vocab::set_nullopt >, ReferenceWrapper &self) |
| constexpr friend void | tag_invoke (types::Tag< vocab::set_value >, ReferenceWrapper &self, T &value) |
| using di::util::ReferenceWrapper< T >::Value = T |
|
inlineexplicitconstexpr |
|
inlineconstexpr |
|
constexprdefault |
|
inlineconstexpr |
|
staticconstexprdelete |
|
inlineconstexpr |
|
inlineconstexpr |
|
constexprdefault |
|
friend |
|
friend |
|
friend |
|
friend |