Ahojte, občas by som si chcel sprehladniť kód a zabrániť zbytočnému prepisovaniu rovnakého kódu a tak v C++ pomerne veľa používam typové aliasy. Problém je, že v hlavičke šablóny typový alias definovať nemôžem, alebo hej? Uvediem príklad kedy by sa mi hodil typový alias:
template <
typename BeginRecordType,
typename RecordType = BeginRecordType,
typename ...Args
>
using _Table = Table<BeginRecordType, RecordType, Args...>; // už tu by sa mi hodilo definovať typový alias
class Table : public ranges::view_facade<_Table>
{
public:
using QueryList = std::tuple<Args...>;
// kod triedy...
}
To isté platí aj pre hlavičku template funkcie (alebo metódy), kde by sa mi zase hodil alias na skrátenie názvov typov v pri argumentoch funkcie. Ako tento problém riešiť? Existuje nejaké čisté riešenie (na úrovni jazyka?) alebo to mám nejako ohackovať preprocessorom?