diff --git a/alib2data/src/grammar/Grammar.h b/alib2data/src/grammar/Grammar.h index ad68385b4df46c888f7ca94cd4eb7bfeaa8400e4..311e15757f7dc708fb1b9625beac99b0c2461a1d 100644 --- a/alib2data/src/grammar/Grammar.h +++ b/alib2data/src/grammar/Grammar.h @@ -11,6 +11,8 @@ #include <base/WrapperBase.hpp> #include "GrammarBase.h" +#include <type_traits> + namespace grammar { /** @@ -27,6 +29,9 @@ public: } }; +template < class T > +using SymbolTypeOfGrammar = typename std::decay < decltype (std::declval<T>().getNonterminalAlphabet()) >::type::value_type; + } /* namespace grammar */ #endif /* GRAMMAR_H_ */