Skip to content
Snippets Groups Projects
Commit 8fabb403 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

add extern template to rte and strings

parent bdcc001a
No related branches found
No related tags found
No related merge requests found
Showing
with 49 additions and 0 deletions
...@@ -6,9 +6,21 @@ ...@@ -6,9 +6,21 @@
*/ */
   
#include "FormalRTE.h" #include "FormalRTE.h"
#include "FormalRTEElements.h"
   
#include <registration/ValuePrinterRegistration.hpp> #include <registration/ValuePrinterRegistration.hpp>
   
template class rte::FormalRTE < >;
template class rte::FormalRTEStructure < DefaultSymbolType, DefaultRankType >;
template class rte::FormalRTEElement < DefaultSymbolType, DefaultRankType >;
template class rte::FormalRTEAlternation < DefaultSymbolType, DefaultRankType >;
template class rte::FormalRTESubstitution < DefaultSymbolType, DefaultRankType >;
template class rte::FormalRTEIteration < DefaultSymbolType, DefaultRankType >;
template class rte::FormalRTEEmpty < DefaultSymbolType, DefaultRankType >;
template class rte::FormalRTESymbol < DefaultSymbolType, DefaultRankType >;
template class rte::FormalRTESymbolAlphabet < DefaultSymbolType, DefaultRankType >;
template class rte::FormalRTESymbolSubst < DefaultSymbolType, DefaultRankType >;
namespace { namespace {
   
static auto valuePrinter = registration::ValuePrinterRegister < rte::FormalRTE < > > ( ); static auto valuePrinter = registration::ValuePrinterRegister < rte::FormalRTE < > > ( );
......
...@@ -438,4 +438,6 @@ struct normalize < rte::FormalRTE < SymbolType, RankType > > { ...@@ -438,4 +438,6 @@ struct normalize < rte::FormalRTE < SymbolType, RankType > > {
   
} /* namespace core */ } /* namespace core */
   
extern template class rte::FormalRTE < >;
#endif /* FORMAL_RTE_H_ */ #endif /* FORMAL_RTE_H_ */
...@@ -297,4 +297,6 @@ FormalRTEAlternation < SymbolType, RankType >::operator std::string ( ) const { ...@@ -297,4 +297,6 @@ FormalRTEAlternation < SymbolType, RankType >::operator std::string ( ) const {
   
} /* namespace rte */ } /* namespace rte */
   
extern template class rte::FormalRTEAlternation < DefaultSymbolType, DefaultRankType >;
#endif /* FORMAL_RTE_ALTERNATION_H_ */ #endif /* FORMAL_RTE_ALTERNATION_H_ */
...@@ -340,4 +340,6 @@ std::pair < ext::set < common::ranked_symbol < SymbolType, RankType > >, ext::se ...@@ -340,4 +340,6 @@ std::pair < ext::set < common::ranked_symbol < SymbolType, RankType > >, ext::se
   
} /* namespace rte */ } /* namespace rte */
   
extern template class rte::FormalRTEElement < DefaultSymbolType, DefaultRankType >;
#endif /* FORMAL_RTE_ELEMENT_H_ */ #endif /* FORMAL_RTE_ELEMENT_H_ */
...@@ -170,4 +170,6 @@ FormalRTEEmpty < SymbolType, RankType >::operator std::string ( ) const { ...@@ -170,4 +170,6 @@ FormalRTEEmpty < SymbolType, RankType >::operator std::string ( ) const {
   
} /* namespace rte */ } /* namespace rte */
   
extern template class rte::FormalRTEEmpty < DefaultSymbolType, DefaultRankType >;
#endif /* FORMAL_RTE_EMPTY_H_ */ #endif /* FORMAL_RTE_EMPTY_H_ */
...@@ -285,4 +285,7 @@ FormalRTEIteration < SymbolType, RankType >::operator std::string ( ) const { ...@@ -285,4 +285,7 @@ FormalRTEIteration < SymbolType, RankType >::operator std::string ( ) const {
} }
   
} /* namespace rte */ } /* namespace rte */
extern template class rte::FormalRTEIteration < DefaultSymbolType, DefaultRankType >;
#endif /* FORMAL_RTE_ITERATION_H_ */ #endif /* FORMAL_RTE_ITERATION_H_ */
...@@ -190,4 +190,6 @@ void FormalRTEStructure < SymbolType, RankType >::setStructure ( FormalRTEElemen ...@@ -190,4 +190,6 @@ void FormalRTEStructure < SymbolType, RankType >::setStructure ( FormalRTEElemen
   
} /* namespace rte */ } /* namespace rte */
   
extern template class rte::FormalRTEStructure < DefaultSymbolType, DefaultRankType >;
#endif /* FORMAL_RTE_STRUCTURE_H_ */ #endif /* FORMAL_RTE_STRUCTURE_H_ */
...@@ -346,4 +346,6 @@ FormalRTESubstitution < SymbolType, RankType >::operator std::string ( ) const { ...@@ -346,4 +346,6 @@ FormalRTESubstitution < SymbolType, RankType >::operator std::string ( ) const {
   
} /* namespace rte */ } /* namespace rte */
   
extern template class rte::FormalRTESubstitution < DefaultSymbolType, DefaultRankType >;
#endif /* FORMAL_RTE_SUBSTITUTION_H_ */ #endif /* FORMAL_RTE_SUBSTITUTION_H_ */
...@@ -92,4 +92,6 @@ common::ranked_symbol < SymbolType, RankType > && FormalRTESymbol < SymbolType, ...@@ -92,4 +92,6 @@ common::ranked_symbol < SymbolType, RankType > && FormalRTESymbol < SymbolType,
   
} /* namespace rte */ } /* namespace rte */
   
extern template class rte::FormalRTESymbol < DefaultSymbolType, DefaultRankType >;
#endif /* FORMAL_RTE_SYMBOL_H_ */ #endif /* FORMAL_RTE_SYMBOL_H_ */
...@@ -267,4 +267,6 @@ FormalRTESymbolAlphabet < SymbolType, RankType >::operator std::string ( ) const ...@@ -267,4 +267,6 @@ FormalRTESymbolAlphabet < SymbolType, RankType >::operator std::string ( ) const
   
} /* namespace rte */ } /* namespace rte */
   
extern template class rte::FormalRTESymbolAlphabet < DefaultSymbolType, DefaultRankType >;
#endif /* FORMAL_RTE_SYMBOL_ALPHABET_H_ */ #endif /* FORMAL_RTE_SYMBOL_ALPHABET_H_ */
...@@ -178,4 +178,6 @@ FormalRTESymbolSubst < SymbolType, RankType >::operator std::string ( ) const { ...@@ -178,4 +178,6 @@ FormalRTESymbolSubst < SymbolType, RankType >::operator std::string ( ) const {
   
} /* namespace rte */ } /* namespace rte */
   
extern template class rte::FormalRTESymbolSubst < DefaultSymbolType, DefaultRankType >;
#endif /* FORMAL_RTE_SUBST_SYMBOL_H_ */ #endif /* FORMAL_RTE_SUBST_SYMBOL_H_ */
...@@ -10,6 +10,8 @@ ...@@ -10,6 +10,8 @@
#include <registration/ValuePrinterRegistration.hpp> #include <registration/ValuePrinterRegistration.hpp>
#include <registration/CastRegistration.hpp> #include <registration/CastRegistration.hpp>
   
template class string::CyclicString < >;
namespace { namespace {
   
static auto CyclicStringFromEpsilon = registration::CastRegister < string::CyclicString < >, string::Epsilon < > > ( ); static auto CyclicStringFromEpsilon = registration::CastRegister < string::CyclicString < >, string::Epsilon < > > ( );
......
...@@ -340,4 +340,6 @@ struct normalize < string::CyclicString < SymbolType > > { ...@@ -340,4 +340,6 @@ struct normalize < string::CyclicString < SymbolType > > {
   
} /* namespace core */ } /* namespace core */
   
extern template class string::CyclicString < >;
#endif /* CYCLIC_STRING_H_ */ #endif /* CYCLIC_STRING_H_ */
...@@ -10,6 +10,8 @@ ...@@ -10,6 +10,8 @@
#include <registration/ValuePrinterRegistration.hpp> #include <registration/ValuePrinterRegistration.hpp>
#include <registration/CastRegistration.hpp> #include <registration/CastRegistration.hpp>
   
template class string::Epsilon < >;
namespace { namespace {
   
static auto valuePrinter = registration::ValuePrinterRegister < string::Epsilon < > > ( ); static auto valuePrinter = registration::ValuePrinterRegister < string::Epsilon < > > ( );
......
...@@ -216,4 +216,6 @@ struct normalize < string::Epsilon < SymbolType > > { ...@@ -216,4 +216,6 @@ struct normalize < string::Epsilon < SymbolType > > {
   
} /* namespace core */ } /* namespace core */
   
extern template class string::Epsilon < >;
#endif /* EPSILON_H_ */ #endif /* EPSILON_H_ */
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
#include <registration/SetRegistration.hpp> #include <registration/SetRegistration.hpp>
#include <registration/ComponentRegistration.hpp> #include <registration/ComponentRegistration.hpp>
   
template class string::LinearString < >;
namespace { namespace {
   
static auto components = registration::ComponentRegister < string::LinearString < > > ( ); static auto components = registration::ComponentRegister < string::LinearString < > > ( );
......
...@@ -370,4 +370,6 @@ struct normalize < string::LinearString < common::ranked_symbol < SymbolType, Ra ...@@ -370,4 +370,6 @@ struct normalize < string::LinearString < common::ranked_symbol < SymbolType, Ra
   
} /* namespace core */ } /* namespace core */
   
extern template class string::LinearString < >;
#endif /* LINEAR_STRING_H_ */ #endif /* LINEAR_STRING_H_ */
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
#include <registration/CastRegistration.hpp> #include <registration/CastRegistration.hpp>
#include <registration/ComponentRegistration.hpp> #include <registration/ComponentRegistration.hpp>
   
template class string::WildcardLinearString < >;
namespace { namespace {
   
static auto components = registration::ComponentRegister < string::WildcardLinearString < > > ( ); static auto components = registration::ComponentRegister < string::WildcardLinearString < > > ( );
......
...@@ -446,4 +446,6 @@ struct normalize < string::WildcardLinearString < SymbolType > > { ...@@ -446,4 +446,6 @@ struct normalize < string::WildcardLinearString < SymbolType > > {
   
} /* namespace core */ } /* namespace core */
   
extern template class string::WildcardLinearString < >;
#endif /* WILDCARD_LINEAR_STRING_H_ */ #endif /* WILDCARD_LINEAR_STRING_H_ */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment