#include <command.hxx>
#ifdef __GCCXML__
+// 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")))
+
+
+/** @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
+// used during regular compile
+
#define LIBT2N_EXPORT
#define LIBT2N_DEFAULT_ARG(_type,_value) _type = _value
+
#endif
#endif
# Doxygen will generate a detailed section even if there is only a brief
# description.
-ALWAYS_DETAILED_SEC = NO
+ALWAYS_DETAILED_SEC = YES
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
# inherited members of a class in the documentation of that class as if those
# members were ordinary class members. Constructors, destructors and assignment
# operators of the base classes will not be shown.
-INLINE_INHERITED_MEMB = NO
+INLINE_INHERITED_MEMB = YES
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
# path before files name in the file list and in the header files. If set
# func(std::string) {}). This also make the inheritance and collaboration
# diagrams that involve STL classes more complete and accurate.
-BUILTIN_STL_SUPPORT = NO
+BUILTIN_STL_SUPPORT = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES, then doxygen will reuse the documentation of the first
# Private class members and static file members will be hidden unless
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-EXTRACT_ALL = NO
+EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
# will be included in the documentation.
-EXTRACT_PRIVATE = NO
+EXTRACT_PRIVATE = YES
# If the EXTRACT_STATIC tag is set to YES all static members of a file
# will be included in the documentation.
-EXTRACT_STATIC = NO
+EXTRACT_STATIC = YES
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
# defined locally in source files will be included in the documentation.
# to NO (the default) then the documentation will be excluded.
# Set it to YES to include the internal documentation.
-INTERNAL_DOCS = NO
+INTERNAL_DOCS = YES
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
# file names in lower-case letters. If set to YES upper-case letters are also
# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
# in the documentation. The default is NO.
-SHOW_DIRECTORIES = NO
+SHOW_DIRECTORIES = YES
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
# doxygen should invoke to get the current version for each file (typically from the
# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
-FILE_PATTERNS = *.hxx *.cpp *.doc
+FILE_PATTERNS = *.hxx *.cpp *.doc *.hpp
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
# should be searched for input files as well. Possible values are YES and NO.
# undefined via #undef or recursively expanded use the := operator
# instead of the = operator.
-PREDEFINED =
+PREDEFINED = __GCCXML__
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
# toolkit from AT&T and Lucent Bell Labs. The other options in this section
# have no effect if this option is set to NO (the default)
-HAVE_DOT = NO
+HAVE_DOT = YES
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for each documented class showing the direct and
# indirect implementation dependencies (inheritance, containment, and
# class references variables) of the class with other documented classes.
-COLLABORATION_GRAPH = YES
+COLLABORATION_GRAPH = NO
# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for groups, showing the direct groups dependencies
# collaboration diagrams in a style similar to the OMG's Unified Modeling
# Language.
-UML_LOOK = NO
+UML_LOOK = YES
# If set to YES, the inheritance and collaboration graphs will show the
# relations between templates and their instances.
-TEMPLATE_RELATIONS = NO
+TEMPLATE_RELATIONS = YES
# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
# tags are set to YES then doxygen will generate a graph for each documented
\subsection requirements Requirements
\par libt2n
- - boost <http://www.boost.org/> (serialization <http://www.boost.org/libs/serialization/doc/>)
+ - boost <http://www.boost.org/> (serialization <http://www.boost.org/libs/serialization/>)
\par libt2n-codegen
- gccxml <http://www.gccxml.org>
- libxmlpp <http://libxmlplusplus.sourceforge.net/>
+ \par client-wrapper
+ - boost <http://www.boost.org/> (bind <http://www.boost.org/libs/bind/>, function <http://www.boost.org/libs/function/>)
+ - gcc 4.1 or newer <http://gcc.gnu.org/>
\subsection recommended Recommended
- pkg-config <http://pkgconfig.freedesktop.org/wiki/>
- \anchor notes5
[5] interface description language (IDL), http://en.wikipedia.org/wiki/Interface_description_language
- \anchor notes6
- [6] boost serialization, http://www.boost.org/libs/serialization/doc/
+ [6] boost serialization, http://www.boost.org/libs/serialization/
*/
/*! \page example Usage example