Awali
Another Weighted Automata library
handler_decl.hxx
Go to the documentation of this file.
1 // This file is part of Awali.
2 // Copyright 2016-2022 Sylvain Lombardy, Victor Marsault, Jacques Sakarovitch
3 //
4 // Awali is a free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 
17 #include <set>
20 
21 #ifndef HANDLER_EXTERN
22 #define HANDLER_EXTERN
23 #define UNDEF_ON_EXIT
24 #endif
25 
26 
27 #define INSTANCIATE_call_0_1(r,a1) HANDLER_EXTERN template r call0<r,a1>(std::string const&, std::string const&, std::string const&, a1)
28 
29 #define INSTANCIATE_call_0_2(r,a1,a2) HANDLER_EXTERN template r call0<r,a1,a2>(std::string const&,std::string const&, std::string const&, a1, a2)
30 
31 #define INSTANCIATE_call_0_3(r,a1,a2,a3) HANDLER_EXTERN template r call0<r,a1,a2,a3>(std::string const&,std::string const&, std::string const&, a1, a2)
32 
33 
34 #define INSTANCIATE_call_1_0(r,a1) HANDLER_EXTERN template r call1<r,a1>(std::string const&,std::string const&, a1)
35 
36 #define INSTANCIATE_call_1_1(r,a1,a2) HANDLER_EXTERN template r call1<r,a1,a2>(std::string const&,std::string const&, a1, a2)
37 
38 #define INSTANCIATE_call_1_2(r,a1,a2,a3) HANDLER_EXTERN template r call1<r,a1,a2,a3>(std::string const&,std::string const&, a1, a2, a3)
39 
40 #define INSTANCIATE_call_1_3(r,a1,a2,a3,a4) HANDLER_EXTERN template r call1<r,a1,a2,a3,a4>(std::string const&,std::string const&, a1, a2, a3, a4)
41 
42 #define INSTANCIATE_call_1_4(r,a1,a2,a3,a4,a5) HANDLER_EXTERN template r call1<r,a1,a2,a3,a4,a5>(std::string const&,std::string const&, a1, a2, a3, a4, a5)
43 
44 
45 #define INSTANCIATE_call_2_0(r,a1,a2) HANDLER_EXTERN template r call2<r,a1,a2>(std::string const&,std::string const&, a1, a2)
46 
47 #define INSTANCIATE_call_2_1(r,a1,a2,a3) HANDLER_EXTERN template r call2<r,a1,a2,a3>(std::string const&,std::string const&, a1, a2, a3)
48 
49 
50 namespace awali { namespace dyn { namespace loading {
51 
52 //In order to know which one to instanciate here, comment instanciator below and execute:
53 // make -j7 awalidyn && nm -gC awali/CMakeFiles/awalidyn.dir/dyn/modules[>.cc.o | sed 's/std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >/std::string/g' | sed 's/awali::dyn:://g' | grep -i ' *W .*call[0-9]' | sort | uniq --count | sort
54 // and find lines that start with number greater than one.
55 
59 
63 
65 
66 }}}
67 
68 
69 #undef INSTANCIATE_call_0_1
70 #undef INSTANCIATE_call_1_0
71 #undef INSTANCIATE_call_1_1
72 #undef INSTANCIATE_call_1_2
73 #undef INSTANCIATE_call_1_3
74 #undef INSTANCIATE_call_1_4
75 #undef INSTANCIATE_call_2_0
76 #undef INSTANCIATE_call_2_1
77 #ifdef UNDEF_ON_EXIT
78 #undef HANDLER_EXTERN
79 #undef UNDEF_ON_EXIT
80 #endif
An automaton_t is essentially a shared pointer to an abstract_automaton_t, but also contains static f...
Definition: automaton.hh:93
#define INSTANCIATE_call_1_0(r, a1)
Definition: handler_decl.hxx:34
#define INSTANCIATE_call_2_0(r, a1, a2)
Definition: handler_decl.hxx:45
#define INSTANCIATE_call_1_1(r, a1, a2)
Definition: handler_decl.hxx:36
Main namespace of Awali.
Definition: ato.hh:22