Каким макросом я могу заменить шаблон "шаблон..." на что-то более короткое? то есть: вместо этого:
template <typename NodeDataT, typename ArcDataT>
/*constructor*/ GraphDirected::
GraphDirected()
{
}
template <typename NodeDataT, typename ArcDataT>
/*destructor*/ GraphDirected::
~GraphDirected()
{
clear();
}
template <typename NodeDataT, typename ArcDataT>
void GraphDirected::
clear()
{
nodes.clear();
arcs.clear();
}
Я хочу написать это:
boilerplate(/*constructor*/)
GraphDirected()
{
}
boilerplate(/*destructor*/)
~GraphDirected()
{
clear();
}
boilerplate(void)
clear()
{
nodes.clear();
arcs.clear();
}
И, конечно же, в конце мне понадобится какая-то защита (? #undef?), чтобы другие файлы не испортились.
Если это не намного сложнее, как можно справиться с такими уродствами?:
template <typename ElemType>
typename BST<ElemType>::nodeT * BST<ElemType>::
recFindNode(nodeT *t, ElemType & key) { ... }
template <typename
. - person aschepler   schedule 08.01.2013