parameter_type
Allows the method of passing a parameter to be determined by the type.
By default, if the type is fundamental or a pointer, then the parameter type is 'by value', otherwise 'by const reference'.
template <typename T>
struct parameter_type;
Defines type.
The template may be specialised for specific types.
Example
class MyClass
{
};
template <>
struct parameter_type<MyClass>
{
typedef MyClass type;
};
template <typename T>
void Do_Stuff(typename etl::parameter_type<T>::type parameter)
{
}
int i = 1;
Do_Stuff(i);
etl::vector<int, 10> data;
Do_Stuff(data);
MyClass myClass;
Do_Stuff(myClass);