libt2n: (gerd) improve doxygen documentation
[libt2n] / codegen / codegen-stubhead.hxx
index 465ef15..34493d2 100644 (file)
@@ -6,18 +6,45 @@
 #include <boost/archive/xml_oarchive.hpp>
 #include <boost/archive/xml_iarchive.hpp>
 #include <boost/serialization/serialization.hpp>
-#include <boost/serialization/string.hpp>
 
 #include <string>
 #include <t2n_exception.hxx>
 #include <command.hxx>
 
 #ifdef __GCCXML__
-#define LIBT2N_SET_DEFAULTGROUP(x) namespace { typedef __attribute((gccxml(#x))) int libt2n_default; }
+// used during parsing run with gccxml
+
+/** @brief mark a function to export it via libt2n
+    @par Example
+    @code
+    LIBT2N_EXPORT std::string testfunc(std::string str)
+    {
+        // your code here
+    }
+    @endcode
+*/
 #define LIBT2N_EXPORT __attribute((gccxml("libt2n-default")))
-#define LIBT2N_EXPORT_GROUP(group) __attribute((gccxml("libt2n-"#group)))
+
+
+/** @brief tell libt2n about a default argument
+    @param _type type of the default argument
+    @param _value default value
+    @par Example
+    @code
+    LIBT2N_EXPORT std::string testfunc(LIBT2N_DEFAULT_ARG(const std::string str&,"hello world"))
+    {
+        // your code here
+    }
+    @endcode
+*/
+#define LIBT2N_DEFAULT_ARG(_type,_value) __attribute((gccxml("libt2n-default-arg",#_value))) _type = _value
+
 #else
-#define LIBT2N_SET_DEFAULTGROUP(x)
+// used during regular compile
+
 #define LIBT2N_EXPORT
-#define LIBT2N_EXPORT_GROUP(group)
+#define LIBT2N_DEFAULT_ARG(_type,_value) _type = _value
+
+#endif
+
 #endif