UnwrapReference
Metafunction to unwrap std::reference_wrapper types.
Defined in Rodin/Utility/UnwrapReference.h
template < class T> struct UnwrapReference;
Specializations
| Specialization | Description |
|---|---|
std::reference_wrapper<U>Full specializationtemplate < class U> struct UnwrapReference< std::reference_wrapper< U >>; | Specialization for std::reference_wrapper. |
| Template parameters | |
|---|---|
| T | The type to potentially unwrap. |
For non-reference_wrapper types, the result is T itself. For std::reference_wrapper<U>, the result is U&.
Example usage:
using Unwrapped1 = UnwrapReference<int>::Type; // int using Unwrapped2 = UnwrapReference<std::reference_wrapper<int>>::Type; // int&
Public types
- using Type = T
- Identity for non-reference_wrapper types.