Read-Only Parameter¶
#include <m3ta/readonlyparameter>
Resolves the most optimal read-only parameter signature for a given type.
In other words, it returns either T or const T& depending on the size of a type T.
Note
Any const, volatile and reference qualifiers are ignored during the resolution. As such, the types T, T &&, const T &, and so on, will all resolve to the same type.
Traits¶
- m3ta::ReadOnlyParameter
template<typename T> struct ReadOnlyParameter
Template Parameters: - T – Type to resolve.
Member Types
- type
The most optimal read-only parameter signature for the type T.
Aliases¶
- m3ta::ReadOnlyParameterT
template<typename T> using ReadOnlyParameterT = typename ReadOnlyParameter<T>::type;
Usage Examples¶
using Type1 = m3ta::ReadOnlyParameterT<char>; // char
using Type2 = m3ta::ReadOnlyParameterT<std::complex<double>>; // const std::complex<double> &
using Type3 = m3ta::ReadOnlyParameterT<double *>; // double*
using Type4 = m3ta::ReadOnlyParameterT<double[32]>; // double[32]
using Type5 = m3ta::ReadOnlyParameterT<const volatile char &>; // char
using Type6 = m3ta::ReadOnlyParameterT<char &&>; // char