diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2000-07-16 17:27:25 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2000-07-16 17:27:25 (GMT) |
commit | 55571c2989a42e670d62b4cb2d2bd2882b5ecd60 (patch) | |
tree | 156f3b8b79f2df8ecf0c8d3175e2788e40b4b824 /doc/grouping.doc | |
parent | 56bc9bda61e06b9bd6da5aa58083e93a3b55a465 (diff) | |
download | Doxygen-55571c2989a42e670d62b4cb2d2bd2882b5ecd60.zip Doxygen-55571c2989a42e670d62b4cb2d2bd2882b5ecd60.tar.gz Doxygen-55571c2989a42e670d62b4cb2d2bd2882b5ecd60.tar.bz2 |
Release-1.1.5-20000716
Diffstat (limited to 'doc/grouping.doc')
-rw-r--r-- | doc/grouping.doc | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/doc/grouping.doc b/doc/grouping.doc new file mode 100644 index 0000000..2f1bef7 --- /dev/null +++ b/doc/grouping.doc @@ -0,0 +1,108 @@ +/****************************************************************************** + * + * + * + * Copyright (C) 1997-2000 by Dimitri van Heesch. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software + * for any purpose. It is provided "as is" without express or implied warranty. + * See the GNU General Public License for more details. + * + * Documents produced by Doxygen are derivative works derived from the + * input used in their production; they are not affected by this license. + * + */ +/*! \page grouping Grouping + +Doxygen has two mechanisms to group things together. +One mechanism works at a global level, creating a new page +for each group. These groups are called "modules" in the documentation. +The other mechanism works within a member list of some compound entity, +and is refered to as a "member group". + +\subsection modules Modules + +Modules are a way to group things together on a separate page. You +can document a group as a whole, as well as all individual members. +Members of a group can be files, namespaces, classes, functions, +variables, enums, typedefs, and defines, but also other groups. + +To define a group, you should put the \ref cmddefgroup "\\defgroup" +command in a special comment block. The first argument of the command +is a label that should uniquely identify the group. You can make an +entity a member of a specific group by putting +a \ref cmdingroup "\\ingroup" command inside its documentation. + +\par Example: +\verbinclude group.cpp + +\htmlonly +Click <a href="$(DOXYGEN_DOCDIR)/examples/group/html/modules.html">here</a> +for the corresponding HTML documentation that is generated by Doxygen. +\endhtmlonly + +\subsection memgroup Member Groups + +If a compound (e.g. a class or file) has many members, it is often +desired to group them together. Doxygen already automatically groups +things together on type and protection level, but maybe you feel that +this is not enough or that that default grouping is wrong. +For instance, because you feel that members of different (syntactic) +types belong to the same (semantic) group. + +A member group is defined by +a +\verbatim +//@{ + ... +//@} +\endverbatim +block or a +\verbatim +/*@{*/ + ... +/*@}*/ +\endverbatim +block if you prefer C style +comments. Note that the members of the group should be +physcially inside the member group's body. + +Before the opening marker of a block a separate comment block may be +placed. This block should contain the \ref cmdname "@name" +(or \ref cmdname "\name") command and is used to specify the header +of the group. Optionally, the comment block may also contain more +detailed information about the group. + +Nesting of member groups is not allowed. + +If all members of a member group inside a class have the same type +and protection level (for instance all are static public members), +then the whole member group is displayed as a subgroup of +the type/protection level group (the group is displayed as a +subsection of the "Static Public Members" section for instance). +If two or more members have different types, then the group is put +at the same level as the automatically generated groups. +If you want to force all member-groups of a class to be at the top level, +you should put a \ref cmdnosubgrouping "\\nosubgrouping" command inside the +documentation of the class. + +\par Example: +\verbinclude memgrp.cpp + +\htmlonly +Click <a href="$(DOXYGEN_DOCDIR)/examples/memgrp/html/class_test.html">here</a> +for the corresponding HTML documentation that is generated by Doxygen. +\endhtmlonly + +Here Group1 is displayed as a subsection of the "Public Members". And +Group2 is a separate section because it contains members with +different protection levels (i.e. public and protected). + +\htmlonly +Go to the <a href="formulas.html">next</a> section or return to the + <a href="index.html">index</a>. +\endhtmlonly + +*/ |