When declaring types, type names MUST be suffixed with _type
typedef typename MyTraits<T>::res value_type; typedef std::map<const Symbol, Entry_T> map_type; typedef std::list<map_type> symtab_type;
Rationale: this is a common idiom in C++ (which happens to be used by the stl)
Rationale: for not using _t
: identifiers ending with
_t
are reserved by posix (beside others).