From: Gerd v. Egidy Date: Tue, 22 Jul 2008 14:34:43 +0000 (+0000) Subject: libt2n: (gerd) improve doxygen documentation X-Git-Tag: v0.4~23 X-Git-Url: http://developer.intra2net.com/git/?p=libt2n;a=commitdiff_plain;h=0a8803ccb67ea3c31cbd2405c617da3dda47f4ef;hp=7799fec761f19ead0aeea59e7db3f4a07eb96627 libt2n: (gerd) improve doxygen documentation --- diff --git a/codegen/codegen-stubhead.hxx b/codegen/codegen-stubhead.hxx index 9ab41c0..34493d2 100644 --- a/codegen/codegen-stubhead.hxx +++ b/codegen/codegen-stubhead.hxx @@ -12,11 +12,39 @@ #include #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 diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 1eb5131..52e6c4e 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -93,14 +93,14 @@ ABBREVIATE_BRIEF = # 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 @@ -202,7 +202,7 @@ OPTIMIZE_OUTPUT_JAVA = NO # 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 @@ -228,17 +228,17 @@ SUBGROUPING = YES # 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. @@ -287,7 +287,7 @@ HIDE_IN_BODY_DOCS = NO # 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 @@ -387,7 +387,7 @@ SHOW_USED_FILES = YES # 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 @@ -468,7 +468,7 @@ INPUT = @top_srcdir@/doc @top_srcdir@/src @top_srcdir@/codegen # *.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. @@ -1012,7 +1012,7 @@ INCLUDE_FILE_PATTERNS = # 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. @@ -1096,7 +1096,7 @@ HIDE_UNDOC_RELATIONS = YES # 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 @@ -1110,7 +1110,7 @@ CLASS_GRAPH = YES # 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 @@ -1121,12 +1121,12 @@ GROUP_GRAPHS = YES # 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 diff --git a/doc/Makefile.am b/doc/Makefile.am index 2976ec3..ca19421 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -8,7 +8,7 @@ endif all: $(MANUALS) -html/index.html: $(top_srcdir)/src/*.cpp $(top_srcdir)/src/*.hxx $(top_srcdir)/codegen/*.hxx $(top_srcdir)/codegen/*.cpp $(srcdir)/index.doc +html/index.html: $(top_srcdir)/src/*.cpp $(top_srcdir)/src/*.hxx $(top_srcdir)/codegen/*.hxx $(top_srcdir)/codegen/*.cpp $(srcdir)/index.doc Doxyfile $(DOXYGEN) -EXTRA_DIST = index.doc header.html +EXTRA_DIST = index.doc header.html Doxyfile.in diff --git a/doc/index.doc b/doc/index.doc index 395603d..73b10ed 100644 --- a/doc/index.doc +++ b/doc/index.doc @@ -22,10 +22,13 @@ Using libt2n and its code generator only the server procedure implementations ha \subsection requirements Requirements \par libt2n - - boost (serialization ) + - boost (serialization ) \par libt2n-codegen - gccxml - libxmlpp + \par client-wrapper + - boost (bind , function ) + - gcc 4.1 or newer \subsection recommended Recommended - pkg-config @@ -54,7 +57,7 @@ Using libt2n and its code generator only the server procedure implementations ha - \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