summaryrefslogtreecommitdiffstats
path: root/doc/grouping.doc
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2000-07-16 17:27:25 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2000-07-16 17:27:25 (GMT)
commit8feba3b60badccd732e753fadb089d13799db829 (patch)
tree156f3b8b79f2df8ecf0c8d3175e2788e40b4b824 /doc/grouping.doc
parent61a83f312ce95090dc02ca3b8ce8dd3319d97df1 (diff)
downloadDoxygen-8feba3b60badccd732e753fadb089d13799db829.zip
Doxygen-8feba3b60badccd732e753fadb089d13799db829.tar.gz
Doxygen-8feba3b60badccd732e753fadb089d13799db829.tar.bz2
Release-1.1.5-20000716
Diffstat (limited to 'doc/grouping.doc')
-rw-r--r--doc/grouping.doc108
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
+
+*/