I have a template class with 5 template arguments which looks something similar to this.
SomeClass.h
template < typename A, typename B, typename C, typename D >
class SomeClass
{
private:
A a_obj;
B b_obj;
C c_obj;
D d_obj;
public:
void someoperationA();
void someoperationB();
void someoperationC();
};
SomeClass.cpp
template < typename A, typename B, typename C, typename D >
SomeClass<A, B, C, D>::someoperationA()
{
A::someStaticMethods();
}
template < typename A, typename B, typename C, typename D >
SomeClass<A, B, C, D>::someoperationB()
{}
template < typename A, typename B, typename C, typename D >
SomeClass<A, B, C, D>::someoperationC()
{}
Consider the case where my template parameters should be given some good big names like
SomeClass.cpp
template <
typename ABIGCLASSNAME,
typename BBIGCLASSNAME,
typename CBIGCLASSNAME,
typename DBIGCLASSNAME
>
SomeClass<ABIGCLASSNAME,
BBIGCLASSNAME,
CBIGCLASSNAME,
DBIGCLASSNAME>::someoperationA()
{
ABIGCLASSNAME::someStaticMethods();
}
It definitely starts looking ugly :(
So is it possible to typedef template arguments in any way, so that its readable... Something like
typedef template < typename ABIGCLASSNAME, typename BBIGCLASSNAME, typename CBIGCLASSNAME, typename DBIGCLASSNAME > TEMP_WITH_PARAMS
and something simliar for the class other than using #define