34493d24d025b21537a41280f2672a274561d899
[libt2n] / codegen / codegen-stubhead.hxx
1 #ifndef MINIMALISTIC_STUB_HXX
2 #define MINIMALISTIC_STUB_HXX
3
4 #include <boost/archive/binary_oarchive.hpp>
5 #include <boost/archive/binary_iarchive.hpp>
6 #include <boost/archive/xml_oarchive.hpp>
7 #include <boost/archive/xml_iarchive.hpp>
8 #include <boost/serialization/serialization.hpp>
9
10 #include <string>
11 #include <t2n_exception.hxx>
12 #include <command.hxx>
13
14 #ifdef __GCCXML__
15 // used during parsing run with gccxml
16
17 /** @brief mark a function to export it via libt2n
18     @par Example
19     @code
20     LIBT2N_EXPORT std::string testfunc(std::string str)
21     {
22         // your code here
23     }
24     @endcode
25 */
26 #define LIBT2N_EXPORT __attribute((gccxml("libt2n-default")))
27
28
29 /** @brief tell libt2n about a default argument
30     @param _type type of the default argument
31     @param _value default value
32     @par Example
33     @code
34     LIBT2N_EXPORT std::string testfunc(LIBT2N_DEFAULT_ARG(const std::string str&,"hello world"))
35     {
36         // your code here
37     }
38     @endcode
39 */
40 #define LIBT2N_DEFAULT_ARG(_type,_value) __attribute((gccxml("libt2n-default-arg",#_value))) _type = _value
41
42 #else
43 // used during regular compile
44
45 #define LIBT2N_EXPORT
46 #define LIBT2N_DEFAULT_ARG(_type,_value) _type = _value
47
48 #endif
49
50 #endif