diff --git a/alib2data/src/rte/formal/FormalRTE.cpp b/alib2data/src/rte/formal/FormalRTE.cpp index 211e124adeea94e33dcd6f3e1e8136d979d2b067..35ec4038245c34bb1b10908f90ef895c6922a074 100644 --- a/alib2data/src/rte/formal/FormalRTE.cpp +++ b/alib2data/src/rte/formal/FormalRTE.cpp @@ -6,9 +6,21 @@ */ #include "FormalRTE.h" +#include "FormalRTEElements.h" #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 { static auto valuePrinter = registration::ValuePrinterRegister < rte::FormalRTE < > > ( ); diff --git a/alib2data/src/rte/formal/FormalRTE.h b/alib2data/src/rte/formal/FormalRTE.h index 8451c65cded2de1688c155411fc0436d6d19b45b..83b52dcfd7f668b9c665016fa89ca1d39c4acd38 100644 --- a/alib2data/src/rte/formal/FormalRTE.h +++ b/alib2data/src/rte/formal/FormalRTE.h @@ -438,4 +438,6 @@ struct normalize < rte::FormalRTE < SymbolType, RankType > > { } /* namespace core */ +extern template class rte::FormalRTE < >; + #endif /* FORMAL_RTE_H_ */ diff --git a/alib2data/src/rte/formal/FormalRTEAlternation.h b/alib2data/src/rte/formal/FormalRTEAlternation.h index 28c448a858d9fee2d9a9dbfb744395c49bf30db1..9d6b01d64c7ac81291d58055dfffdf89999001a6 100644 --- a/alib2data/src/rte/formal/FormalRTEAlternation.h +++ b/alib2data/src/rte/formal/FormalRTEAlternation.h @@ -297,4 +297,6 @@ FormalRTEAlternation < SymbolType, RankType >::operator std::string ( ) const { } /* namespace rte */ +extern template class rte::FormalRTEAlternation < DefaultSymbolType, DefaultRankType >; + #endif /* FORMAL_RTE_ALTERNATION_H_ */ diff --git a/alib2data/src/rte/formal/FormalRTEElement.h b/alib2data/src/rte/formal/FormalRTEElement.h index db7bcfcbef37243d96ba4cc2226b32bb543fe93b..4d64bd3be2957eb22b6c4982900c248f60d1d9f9 100644 --- a/alib2data/src/rte/formal/FormalRTEElement.h +++ b/alib2data/src/rte/formal/FormalRTEElement.h @@ -340,4 +340,6 @@ std::pair < ext::set < common::ranked_symbol < SymbolType, RankType > >, ext::se } /* namespace rte */ +extern template class rte::FormalRTEElement < DefaultSymbolType, DefaultRankType >; + #endif /* FORMAL_RTE_ELEMENT_H_ */ diff --git a/alib2data/src/rte/formal/FormalRTEEmpty.h b/alib2data/src/rte/formal/FormalRTEEmpty.h index cdabe9189246fcc71aac2349dcc7ffb9940ae33d..4ba2911e1bc61ba12dc6515dfca72b8acf26b2c6 100644 --- a/alib2data/src/rte/formal/FormalRTEEmpty.h +++ b/alib2data/src/rte/formal/FormalRTEEmpty.h @@ -170,4 +170,6 @@ FormalRTEEmpty < SymbolType, RankType >::operator std::string ( ) const { } /* namespace rte */ +extern template class rte::FormalRTEEmpty < DefaultSymbolType, DefaultRankType >; + #endif /* FORMAL_RTE_EMPTY_H_ */ diff --git a/alib2data/src/rte/formal/FormalRTEIteration.h b/alib2data/src/rte/formal/FormalRTEIteration.h index 91ff467bc20084e1bae1c8369a69cb6e2405ee61..e0085d24d47fbd7f9c2e3af81cc1bc3d683d4f51 100644 --- a/alib2data/src/rte/formal/FormalRTEIteration.h +++ b/alib2data/src/rte/formal/FormalRTEIteration.h @@ -285,4 +285,7 @@ FormalRTEIteration < SymbolType, RankType >::operator std::string ( ) const { } } /* namespace rte */ + +extern template class rte::FormalRTEIteration < DefaultSymbolType, DefaultRankType >; + #endif /* FORMAL_RTE_ITERATION_H_ */ diff --git a/alib2data/src/rte/formal/FormalRTEStructure.h b/alib2data/src/rte/formal/FormalRTEStructure.h index cc57969b746571fa896bb42587041258340bf26f..8424c51029f40ad5a9f3e5f096cc88444efdc25d 100644 --- a/alib2data/src/rte/formal/FormalRTEStructure.h +++ b/alib2data/src/rte/formal/FormalRTEStructure.h @@ -190,4 +190,6 @@ void FormalRTEStructure < SymbolType, RankType >::setStructure ( FormalRTEElemen } /* namespace rte */ +extern template class rte::FormalRTEStructure < DefaultSymbolType, DefaultRankType >; + #endif /* FORMAL_RTE_STRUCTURE_H_ */ diff --git a/alib2data/src/rte/formal/FormalRTESubstitution.h b/alib2data/src/rte/formal/FormalRTESubstitution.h index b9af983fa9318338a8cfe95d7c5c5992d4e2685b..19b1f4d185e32469c6678bfa82e1197863b24c01 100644 --- a/alib2data/src/rte/formal/FormalRTESubstitution.h +++ b/alib2data/src/rte/formal/FormalRTESubstitution.h @@ -346,4 +346,6 @@ FormalRTESubstitution < SymbolType, RankType >::operator std::string ( ) const { } /* namespace rte */ +extern template class rte::FormalRTESubstitution < DefaultSymbolType, DefaultRankType >; + #endif /* FORMAL_RTE_SUBSTITUTION_H_ */ diff --git a/alib2data/src/rte/formal/FormalRTESymbol.h b/alib2data/src/rte/formal/FormalRTESymbol.h index a61a55b6a2d54bfab6e53128b09bb4e67612e977..befb7b29675688d502b4010e143f6efd43c92eda 100644 --- a/alib2data/src/rte/formal/FormalRTESymbol.h +++ b/alib2data/src/rte/formal/FormalRTESymbol.h @@ -92,4 +92,6 @@ common::ranked_symbol < SymbolType, RankType > && FormalRTESymbol < SymbolType, } /* namespace rte */ +extern template class rte::FormalRTESymbol < DefaultSymbolType, DefaultRankType >; + #endif /* FORMAL_RTE_SYMBOL_H_ */ diff --git a/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h b/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h index 91020ed2aaca244a1d4ee29a13b38fd2e1f0fe92..919effca84315cdd979a8bf8a4fcb66da113e7b4 100644 --- a/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h +++ b/alib2data/src/rte/formal/FormalRTESymbolAlphabet.h @@ -267,4 +267,6 @@ FormalRTESymbolAlphabet < SymbolType, RankType >::operator std::string ( ) const } /* namespace rte */ +extern template class rte::FormalRTESymbolAlphabet < DefaultSymbolType, DefaultRankType >; + #endif /* FORMAL_RTE_SYMBOL_ALPHABET_H_ */ diff --git a/alib2data/src/rte/formal/FormalRTESymbolSubst.h b/alib2data/src/rte/formal/FormalRTESymbolSubst.h index be106f72986644c888739e0437c0842dd62d37cc..2ced1884ee5edfa7e17e852fb4c09a6a7d2cd153 100644 --- a/alib2data/src/rte/formal/FormalRTESymbolSubst.h +++ b/alib2data/src/rte/formal/FormalRTESymbolSubst.h @@ -178,4 +178,6 @@ FormalRTESymbolSubst < SymbolType, RankType >::operator std::string ( ) const { } /* namespace rte */ +extern template class rte::FormalRTESymbolSubst < DefaultSymbolType, DefaultRankType >; + #endif /* FORMAL_RTE_SUBST_SYMBOL_H_ */ diff --git a/alib2data/src/string/CyclicString.cpp b/alib2data/src/string/CyclicString.cpp index e6fb06edec6a305873b44d9b09a11447c6aa5341..9dbb4daa820409ed1c7cb8593b7c8cc57afeffe2 100644 --- a/alib2data/src/string/CyclicString.cpp +++ b/alib2data/src/string/CyclicString.cpp @@ -10,6 +10,8 @@ #include <registration/ValuePrinterRegistration.hpp> #include <registration/CastRegistration.hpp> +template class string::CyclicString < >; + namespace { static auto CyclicStringFromEpsilon = registration::CastRegister < string::CyclicString < >, string::Epsilon < > > ( ); diff --git a/alib2data/src/string/CyclicString.h b/alib2data/src/string/CyclicString.h index fd33916deefeccd4bcf21091eceac87f742772d1..2dcd4f54adba63436dac514bf3d1be30aaeee4a7 100644 --- a/alib2data/src/string/CyclicString.h +++ b/alib2data/src/string/CyclicString.h @@ -340,4 +340,6 @@ struct normalize < string::CyclicString < SymbolType > > { } /* namespace core */ +extern template class string::CyclicString < >; + #endif /* CYCLIC_STRING_H_ */ diff --git a/alib2data/src/string/Epsilon.cpp b/alib2data/src/string/Epsilon.cpp index 275ce6af7f65423156ee0a383d8310fdc0bf1e13..eaafbc38e8b0e57b2398aab432d3c375ce7bc2fb 100644 --- a/alib2data/src/string/Epsilon.cpp +++ b/alib2data/src/string/Epsilon.cpp @@ -10,6 +10,8 @@ #include <registration/ValuePrinterRegistration.hpp> #include <registration/CastRegistration.hpp> +template class string::Epsilon < >; + namespace { static auto valuePrinter = registration::ValuePrinterRegister < string::Epsilon < > > ( ); diff --git a/alib2data/src/string/Epsilon.h b/alib2data/src/string/Epsilon.h index 7849744e5801aa214825472ca0ebff5cf72f2387..29e226c0d01054b4338ed88c0fcfcd42a1b2d805 100644 --- a/alib2data/src/string/Epsilon.h +++ b/alib2data/src/string/Epsilon.h @@ -216,4 +216,6 @@ struct normalize < string::Epsilon < SymbolType > > { } /* namespace core */ +extern template class string::Epsilon < >; + #endif /* EPSILON_H_ */ diff --git a/alib2data/src/string/LinearString.cpp b/alib2data/src/string/LinearString.cpp index c164f62c62428b355fd25031de0c971c9daa03f2..0e5a859d8be65e94575690042a8720d0f8459a0b 100644 --- a/alib2data/src/string/LinearString.cpp +++ b/alib2data/src/string/LinearString.cpp @@ -12,6 +12,8 @@ #include <registration/SetRegistration.hpp> #include <registration/ComponentRegistration.hpp> +template class string::LinearString < >; + namespace { static auto components = registration::ComponentRegister < string::LinearString < > > ( ); diff --git a/alib2data/src/string/LinearString.h b/alib2data/src/string/LinearString.h index 535f15de2d15e11db65ee0f21b399bf522192911..df50c3eb4f7da095fd4d21e74b0af65f643b7628 100644 --- a/alib2data/src/string/LinearString.h +++ b/alib2data/src/string/LinearString.h @@ -370,4 +370,6 @@ struct normalize < string::LinearString < common::ranked_symbol < SymbolType, Ra } /* namespace core */ +extern template class string::LinearString < >; + #endif /* LINEAR_STRING_H_ */ diff --git a/alib2data/src/string/WildcardLinearString.cpp b/alib2data/src/string/WildcardLinearString.cpp index 72525adfe25d00d02164b7f80c515766f224e976..94641254d0cd8a38651ec9af703df05ccbf59780 100644 --- a/alib2data/src/string/WildcardLinearString.cpp +++ b/alib2data/src/string/WildcardLinearString.cpp @@ -11,6 +11,8 @@ #include <registration/CastRegistration.hpp> #include <registration/ComponentRegistration.hpp> +template class string::WildcardLinearString < >; + namespace { static auto components = registration::ComponentRegister < string::WildcardLinearString < > > ( ); diff --git a/alib2data/src/string/WildcardLinearString.h b/alib2data/src/string/WildcardLinearString.h index c0638c54605d3b9ac470f4f97ff0e532edd1b9a4..a81e37ff28d8dc181618677e63af632f1dbaa7dd 100644 --- a/alib2data/src/string/WildcardLinearString.h +++ b/alib2data/src/string/WildcardLinearString.h @@ -446,4 +446,6 @@ struct normalize < string::WildcardLinearString < SymbolType > > { } /* namespace core */ +extern template class string::WildcardLinearString < >; + #endif /* WILDCARD_LINEAR_STRING_H_ */