libt2n: (tomj) disable recently added unit test: it won't work as is
[libt2n] / codegen / codegen-stubhead.hxx
... / ...
CommitLineData
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(const 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 @remarks Codegen gets default arguments via this define (gccxml-attribute) because gccxml
40 does not correctly output them (e.g. the namespace is ambiguous)
41*/
42#define LIBT2N_DEFAULT_ARG(type,value) __attribute((gccxml("libt2n-default-arg",#value))) type = value
43
44#else
45// used during regular compile
46
47#define LIBT2N_EXPORT
48#define LIBT2N_DEFAULT_ARG(type,value) type = value
49
50#endif
51
52#endif