aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-10-09 15:57:29 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-10-09 15:57:29 +0000
commit83047b25c8defb3459801e71366af59dc1da4d0d (patch)
treec977b2fc8facc4243d7bdda30e75ac617117f03c
parenteb1c45299ed31656d59ed2c4bc4a01b42d245479 (diff)
downloadpaludis-83047b25c8defb3459801e71366af59dc1da4d0d.tar.gz
paludis-83047b25c8defb3459801e71366af59dc1da4d0d.tar.xz
More doxygen work
-rw-r--r--doc/doc_main.doxygen165
-rwxr-xr-xmisc/make_sr.bash2
-rw-r--r--paludis/condition_tracker.hh32
-rw-r--r--paludis/contents.cc5
-rw-r--r--paludis/dep_list-fwd.hh11
-rw-r--r--paludis/dep_list.hh17
-rw-r--r--paludis/dep_list.sr4
-rw-r--r--paludis/dep_list_exceptions.hh38
-rw-r--r--paludis/dep_list_options.hh10
-rw-r--r--paludis/dep_list_options.se28
-rw-r--r--paludis/dep_spec.cc5
-rw-r--r--paludis/find_unused_packages_task.hh16
-rw-r--r--paludis/handled_information-fwd.hh6
-rw-r--r--paludis/handled_information.hh70
-rw-r--r--paludis/hashed_containers.cc6
-rw-r--r--paludis/hashed_containers.hh43
-rw-r--r--paludis/hook-fwd.hh6
-rw-r--r--paludis/hook.hh30
-rw-r--r--paludis/hook.se2
-rw-r--r--paludis/hook.sr2
-rw-r--r--paludis/hooker.cc4
-rw-r--r--paludis/hooker.hh31
-rw-r--r--paludis/host_tuple_name.cc7
-rw-r--r--paludis/host_tuple_name.hh46
-rw-r--r--paludis/host_tuple_name.sr3
-rw-r--r--paludis/install_task.hh12
-rw-r--r--paludis/install_task.se2
-rw-r--r--paludis/md5.hh12
-rw-r--r--paludis/merger.hh19
-rw-r--r--paludis/merger.sr2
-rw-r--r--paludis/merger_entry_type.hh11
-rw-r--r--paludis/merger_entry_type.se2
-rw-r--r--paludis/override_functions.hh34
-rw-r--r--paludis/qa-fwd.hh12
-rw-r--r--paludis/qa.hh19
-rw-r--r--paludis/qa.se5
-rw-r--r--paludis/qa.sr12
-rw-r--r--paludis/query_visitor.hh12
-rw-r--r--paludis/range_rewriter.hh12
-rw-r--r--paludis/report_task.cc11
-rw-r--r--paludis/report_task.hh12
-rw-r--r--paludis/repository_maker.hh24
-rw-r--r--paludis/repository_name_cache.hh13
-rw-r--r--paludis/rmd160.hh12
-rw-r--r--paludis/set_file.hh21
-rw-r--r--paludis/set_file.se3
-rw-r--r--paludis/set_file.sr3
-rw-r--r--paludis/sha256.hh12
-rw-r--r--paludis/show_suggest_visitor.hh12
-rw-r--r--paludis/stage_builder_task.hh21
-rw-r--r--paludis/stage_options.sr2
-rw-r--r--paludis/sync_task.hh12
-rw-r--r--paludis/syncer.cc6
-rw-r--r--paludis/syncer.hh21
-rw-r--r--paludis/syncer.sr4
-rw-r--r--paludis/tasks_exceptions.hh17
-rw-r--r--paludis/uninstall_list.hh12
-rw-r--r--paludis/uninstall_list.se2
-rw-r--r--paludis/uninstall_list.sr4
-rw-r--r--paludis/uninstall_task.hh15
-rw-r--r--paludis/unmerger.hh19
-rw-r--r--paludis/unmerger.sr2
-rw-r--r--paludis/util/attributes.hh16
-rw-r--r--paludis/util/clone-impl.hh6
-rw-r--r--paludis/util/clone.hh10
-rw-r--r--paludis/util/config_file.cc6
-rw-r--r--paludis/util/config_file.hh30
-rw-r--r--paludis/util/config_file.se4
-rw-r--r--paludis/util/destringify.cc6
-rw-r--r--paludis/util/destringify.hh22
-rw-r--r--paludis/util/dir_iterator.cc6
-rw-r--r--paludis/util/dir_iterator.hh20
-rw-r--r--paludis/util/exception.hh22
-rw-r--r--paludis/util/fd_output_stream.hh18
-rw-r--r--paludis/util/fs_entry-fwd.hh16
-rw-r--r--paludis/util/fs_entry.hh16
-rw-r--r--paludis/util/graph-fwd.hh6
-rw-r--r--paludis/util/graph-impl.hh14
-rw-r--r--paludis/util/graph.hh24
-rw-r--r--paludis/util/instantiation_policy-impl.hh6
-rw-r--r--paludis/util/instantiation_policy.hh22
-rw-r--r--paludis/util/is_file_with_extension.hh16
-rw-r--r--paludis/util/is_file_with_extension.se2
-rw-r--r--paludis/util/iterator.hh34
-rw-r--r--paludis/util/join.hh14
-rw-r--r--paludis/util/log.cc11
-rw-r--r--paludis/util/log.hh14
-rw-r--r--paludis/util/log.se2
-rw-r--r--paludis/util/make_shared_ptr-fwd.hh16
-rw-r--r--paludis/util/make_shared_ptr.hh10
-rw-r--r--paludis/util/map-fwd.hh5
-rw-r--r--paludis/util/map-impl.hh6
-rw-r--r--paludis/util/map.hh38
-rw-r--r--paludis/util/no_type.hh17
-rw-r--r--paludis/util/operators.hh22
-rw-r--r--paludis/util/options-fwd.hh6
-rw-r--r--paludis/util/options.hh14
-rw-r--r--paludis/util/pipe.hh8
-rw-r--r--paludis/util/private_implementation_pattern-impl.hh6
-rw-r--r--paludis/util/private_implementation_pattern.hh12
-rw-r--r--paludis/util/pstream.cc6
-rw-r--r--paludis/util/pstream.hh18
-rw-r--r--paludis/util/random.cc8
-rw-r--r--paludis/util/random.hh14
-rw-r--r--paludis/util/save.hh8
-rw-r--r--paludis/util/sequence-fwd.hh6
-rw-r--r--paludis/util/sequence-impl.hh6
-rw-r--r--paludis/util/sequence.hh48
-rw-r--r--paludis/util/set-fwd.hh6
-rw-r--r--paludis/util/set-impl.hh6
-rw-r--r--paludis/util/set.hh46
-rw-r--r--paludis/util/sr.hh16
-rw-r--r--paludis/util/stringify.hh28
-rw-r--r--paludis/util/strip.cc8
-rw-r--r--paludis/util/strip.hh24
-rw-r--r--paludis/util/system.cc6
-rw-r--r--paludis/util/system.hh33
-rw-r--r--paludis/util/tokeniser.hh30
-rw-r--r--paludis/util/validated-fwd.hh6
-rw-r--r--paludis/util/validated.hh11
-rw-r--r--paludis/util/virtual_constructor-impl.hh10
-rw-r--r--paludis/util/virtual_constructor.hh14
-rw-r--r--paludis/util/visitor-fwd.hh6
-rw-r--r--paludis/util/visitor-impl.hh6
-rw-r--r--paludis/util/visitor.hh110
-rw-r--r--paludis/util/visitor_cast.hh76
-rw-r--r--paludis/version_spec-fwd.hh2
-rw-r--r--paludis/version_spec.cc5
-rwxr-xr-xtest/run_test.sh4
129 files changed, 1582 insertions, 523 deletions
diff --git a/doc/doc_main.doxygen b/doc/doc_main.doxygen
index 845a09b..f99e756 100644
--- a/doc/doc_main.doxygen
+++ b/doc/doc_main.doxygen
@@ -190,4 +190,169 @@ using namespace paludis;
* - \ref example_version_operator.cc "example_version_operator.cc"
*/
+/** \defgroup g_dep_list "Dependency Resolution"
+ *
+ * \ingroup g_paludis
+ *
+ * There are two classes that provide dependency resolution: DepList (for
+ * installing) and UninstallList (for uninstalling). Actual installing and
+ * uninstalling is usually done by InstallTask and UninstallTask respectively.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
+/** \defgroup g_tasks "Tasks"
+ *
+ * \ingroup g_paludis
+ *
+ * Tasks simplify certain common operations. For example, when installing a
+ * group of packages, a client has to handle target and dependency resolution,
+ * fetching and uninstalling appropriate packages with error handling, and all
+ * the hooks that should be called. Rather than doing this by hand, a client
+ * will typically subclass InstallTask.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
+/** \defgroup g_hooks "Hooks"
+ *
+ * \ingroup g_paludis
+ *
+ * Hooks can be used to run additional commands at various well-defined trigger
+ * points.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
+/** \defgroup g_digests "Digests"
+ *
+ * \ingroup g_paludis
+ *
+ * Paludis includes some basic digest algorithms to avoid external dependencies.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
+/** \defgroup g_utils "Utilities"
+ *
+ * \ingroup g_paludis
+ *
+ * The utilities library contains various classes that are not core package
+ * management functionality.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
+/** \defgroup g_config_file "Configuration Files"
+ *
+ * \ingroup g_utils
+ *
+ * The various ConfigFile subclasses simplify handling configuration files in
+ * various common formats.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
+/** \defgroup g_strings "Strings"
+ *
+ * \ingroup g_utils
+ *
+ * We provide various functions and classes that simplify common string handling
+ * operations.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
+/** \defgroup g_fs "Filesystem"
+ *
+ * \ingroup g_utils
+ *
+ * We provide various functions and classes that simplify various common
+ * filesystem operations.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
+/** \defgroup g_data_structures "Data Structures"
+ *
+ * \ingroup g_utils
+ *
+ * Various data structures.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
+/** \defgroup g_iterator "Iterators"
+ *
+ * \ingroup g_utils
+ *
+ * Various iterator utilities.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
+/** \defgroup g_oo "OO Design Helpers"
+ *
+ * \ingroup g_utils
+ *
+ * Various OO utility classes.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
+/** \defgroup g_log "Logging"
+ *
+ * \ingroup g_utils
+ *
+ * Paludis includes a basic logging facility.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
+/** \defgroup g_system "System"
+ *
+ * \ingroup g_utils
+ *
+ * Various utilities for interacting with lower-level system things.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
+/** \defgroup g_visitors "Visitors"
+ *
+ * \ingroup g_utils
+ *
+ * Visitors are a way of providing subtype-polymorphic behaviour without
+ * modifying the visitable class.
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
diff --git a/misc/make_sr.bash b/misc/make_sr.bash
index 26b175d..238f11f 100755
--- a/misc/make_sr.bash
+++ b/misc/make_sr.bash
@@ -320,7 +320,7 @@ while read a ; do
echo " * Named arguments for the constructor for ${current_class}."
echo " *"
echo " * \\see ${current_class}"
- echo " * \\ingroup grpnamedarguments"
+ echo " * \\ingroup g_named_arguments"
echo " * \\nosubgrouping"
echo " */"
diff --git a/paludis/condition_tracker.hh b/paludis/condition_tracker.hh
index 95c421f..8ff43cb 100644
--- a/paludis/condition_tracker.hh
+++ b/paludis/condition_tracker.hh
@@ -26,8 +26,25 @@
#include <paludis/dep_tree.hh>
#include <paludis/dep_spec-fwd.hh>
+/** \file
+ * Declarations for ConditionTracker, which is used internally by DepList.
+ *
+ * \ingroup g_dep_list
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
+ /**
+ * ConditionTracker is used by DepList to track the conditions under which a
+ * dependency was pulled in.
+ *
+ * \ingroup g_dep_list
+ * \nosubgrouping
+ */
class ConditionTracker :
public ConstVisitor<DependencySpecTree>,
public ConstVisitor<DependencySpecTree>::VisitConstSequence<ConditionTracker, AllDepSpec>
@@ -47,15 +64,28 @@ namespace paludis
tr1::shared_ptr<ConstTreeSequence<DependencySpecTree, AllDepSpec> > do_add_leaf(const T_ &);
public:
+ ///\name Basic operations
+ ///\{
+
ConditionTracker(tr1::shared_ptr<ConstTreeSequence<DependencySpecTree, AllDepSpec> >);
virtual ~ConditionTracker();
+ ///\}
+
+ ///\name Add a condition
+ ///\{
+
tr1::shared_ptr<ConstTreeSequence<DependencySpecTree, AllDepSpec> > add_condition(const AnyDepSpec &);
tr1::shared_ptr<ConstTreeSequence<DependencySpecTree, AllDepSpec> > add_condition(const UseDepSpec &);
tr1::shared_ptr<ConstTreeSequence<DependencySpecTree, AllDepSpec> > add_condition(const PackageDepSpec &);
tr1::shared_ptr<ConstTreeSequence<DependencySpecTree, AllDepSpec> > add_condition(const BlockDepSpec &);
+ ///\}
+
+ ///\name Visit methods
+ ///\{
+
using ConstVisitor<DependencySpecTree>::VisitConstSequence<ConditionTracker, AllDepSpec>::visit_sequence;
void visit_sequence(const AnyDepSpec &, DependencySpecTree::ConstSequenceIterator, DependencySpecTree::ConstSequenceIterator);
@@ -65,6 +95,8 @@ namespace paludis
void visit_leaf(const BlockDepSpec &) PALUDIS_ATTRIBUTE((noreturn));
void visit_leaf(const DependencyLabelsDepSpec &) PALUDIS_ATTRIBUTE((noreturn));
void visit_leaf(const NamedSetDepSpec &) PALUDIS_ATTRIBUTE((noreturn));
+
+ ///\}
};
}
diff --git a/paludis/contents.cc b/paludis/contents.cc
index d81b2b8..153eb09 100644
--- a/paludis/contents.cc
+++ b/paludis/contents.cc
@@ -96,11 +96,6 @@ ContentsSymEntry::target() const
namespace paludis
{
- /**
- * Implementation data for Contents.
- *
- * \ingroup grpcontents
- */
template<>
struct Implementation<Contents>
{
diff --git a/paludis/dep_list-fwd.hh b/paludis/dep_list-fwd.hh
index 9f0e0c4..10057b3 100644
--- a/paludis/dep_list-fwd.hh
+++ b/paludis/dep_list-fwd.hh
@@ -26,6 +26,12 @@
#include <paludis/package_id-fwd.hh>
#include <paludis/environment-fwd.hh>
+/** \file
+ * Forward declarations for paludis/dep_list.hh .
+ *
+ * \ingroup g_dep_list
+ */
+
namespace paludis
{
class DepListOptions;
@@ -33,6 +39,11 @@ namespace paludis
class DepListEntry;
class DepList;
+ /**
+ * Is an item a valid child in an AnyDepSpec?
+ *
+ * \ingroup g_dep_list
+ */
bool is_viable_any_child(const Environment & env, const tr1::shared_ptr<const PackageID> &,
const DependencySpecTree::ConstItem & i);
}
diff --git a/paludis/dep_list.hh b/paludis/dep_list.hh
index 333e7b9..c139f3f 100644
--- a/paludis/dep_list.hh
+++ b/paludis/dep_list.hh
@@ -38,8 +38,23 @@
#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
+/** \file
+ * Declarations for DepList and related classes.
+ *
+ * \ingroup g_dep_list
+ *
+ * \section Examples
+ *
+ * - None at this time. Use InstallTask if you need to install things.
+ */
+
namespace paludis
{
+ /**
+ * A sequence of functions to try, in order, when overriding masks.
+ *
+ * \ingroup g_dep_list
+ */
typedef Sequence<tr1::function<bool (const PackageID &, const Mask &)> > DepListOverrideMasksFunctions;
#include <paludis/dep_list-sr.hh>
@@ -47,7 +62,7 @@ namespace paludis
/**
* Holds a list of dependencies in merge order.
*
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
* \nosubgrouping
*/
class PALUDIS_VISIBLE DepList :
diff --git a/paludis/dep_list.sr b/paludis/dep_list.sr
index 391b18f..dafbfe8 100644
--- a/paludis/dep_list.sr
+++ b/paludis/dep_list.sr
@@ -41,7 +41,7 @@ END
* Parameters for a DepList.
*
* \see DepList
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
* \nosubgrouping
*/
END
@@ -70,7 +70,7 @@ make_class_DepListEntry()
* An entry in a DepList.
*
* \see DepList
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
* \nosubgrouping
*/
END
diff --git a/paludis/dep_list_exceptions.hh b/paludis/dep_list_exceptions.hh
index 69c55c4..f1c4c16 100644
--- a/paludis/dep_list_exceptions.hh
+++ b/paludis/dep_list_exceptions.hh
@@ -24,13 +24,23 @@
#include <paludis/package_database.hh>
#include <paludis/environment.hh>
+/** \file
+ * Declarations for DepList exceptions.
+ *
+ * \ingroup g_dep_spec
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
* Thrown if an error occurs whilst building a DepList.
*
- * \ingroup grpdepresolver
- * \ingroup grpexceptions
+ * \ingroup g_dep_list
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE DepListError : public Exception
@@ -47,8 +57,8 @@ namespace paludis
/**
* Thrown if all versions of a particular spec are masked.
*
- * \ingroup grpdepresolver
- * \ingroup grpexceptions
+ * \ingroup g_dep_list
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE AllMaskedError : public DepListError
@@ -81,8 +91,8 @@ namespace paludis
* Thrown if all versions of a particular spec are masked,
* but would not be if use requirements were not in effect.
*
- * \ingroup grpdepresolver
- * \ingroup grpexceptions
+ * \ingroup g_dep_list
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE UseRequirementsNotMetError : public DepListError
@@ -114,8 +124,8 @@ namespace paludis
/**
* Thrown if a downgrade is forced and we're not allowed to downgrade.
*
- * \ingroup grpexceptions
- * \ingroup grpdepresolver
+ * \ingroup g_exceptions
+ * \ingroup g_dep_list
* \nosubgrouping
*/
class PALUDIS_VISIBLE DowngradeNotAllowedError : public DepListError
@@ -134,8 +144,8 @@ namespace paludis
/**
* Thrown if a block is encountered.
*
- * \ingroup grpdepresolver
- * \ingroup grpexceptions
+ * \ingroup g_exceptions
+ * \ingroup g_dep_list
* \nosubgrouping
*/
class PALUDIS_VISIBLE BlockError : public DepListError
@@ -152,8 +162,8 @@ namespace paludis
/**
* Thrown if a circular dependency is encountered.
*
- * \ingroup grpdepresolver
- * \ingroup grpexceptions
+ * \ingroup g_dep_list
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE CircularDependencyError : public DepListError
@@ -170,8 +180,8 @@ namespace paludis
/**
* Thrown if no destination can be found.
*
- * \ingroup grpdepresolver
- * \ingroup grpexceptions
+ * \ingroup g_dep_list
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE NoDestinationError : public DepListError
diff --git a/paludis/dep_list_options.hh b/paludis/dep_list_options.hh
index 8fbc069..e446762 100644
--- a/paludis/dep_list_options.hh
+++ b/paludis/dep_list_options.hh
@@ -23,6 +23,16 @@
#include <iosfwd>
#include <paludis/util/attributes.hh>
+/** \file
+ * Declarations for DepList options.
+ *
+ * \ingroup g_dep_spec
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
#include <paludis/dep_list_options-se.hh>
diff --git a/paludis/dep_list_options.se b/paludis/dep_list_options.se
index 95cf5c3..ff2e602 100644
--- a/paludis/dep_list_options.se
+++ b/paludis/dep_list_options.se
@@ -13,7 +13,7 @@ make_enum_DepListTargetType()
* Type of target being handled at the top level.
*
* \see DepListOptions
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
@@ -31,7 +31,7 @@ make_enum_DepListReinstallOption()
* When we should reinstall.
*
* \see DepListOptions
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
@@ -49,7 +49,7 @@ make_enum_DepListFallBackOption()
* When we should fall back to an installed package.
*
* \see DepListOptions
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
@@ -68,7 +68,7 @@ make_enum_DepListReinstallScmOption()
* When we should reinstall SCM packages.
*
* \see DepListOptions
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
@@ -85,7 +85,7 @@ make_enum_DepListUpgradeOption()
* When we should upgrade.
*
* \see DepListOptions
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
@@ -102,7 +102,7 @@ make_enum_DepListDowngradeOption()
* What to do when we downgrade.
*
* \see DepListOptions
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
@@ -119,7 +119,7 @@ make_enum_DepListNewSlotsOption()
* When we should pull in a new slot.
*
* \see DepListOptions
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
@@ -139,7 +139,7 @@ make_enum_DepListDepsOption()
* How we should handle a dep class.
*
* \see DepListOptions
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
@@ -156,7 +156,7 @@ make_enum_DepListSuggestedOption()
* How we should handle suggested deps.
*
* \see DepListOptions
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
@@ -174,7 +174,7 @@ make_enum_DepListCircularOption()
* How we should handle circular deps.
*
* \see DepListOptions
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
@@ -192,7 +192,7 @@ make_enum_DepListBlocksOption()
/**
* How we handle blocks.
*
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
@@ -209,7 +209,7 @@ make_enum_DepListUseOption()
*
* Not for end user use. Used by adjutrix and qa.
*
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
@@ -226,7 +226,7 @@ make_enum_DepListEntryState()
/**
* State of a DepListEntry.
*
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
@@ -248,7 +248,7 @@ make_enum_DepListEntryKind()
/**
* Kind of a DepListEntry.
*
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
*/
END
}
diff --git a/paludis/dep_spec.cc b/paludis/dep_spec.cc
index 9c266dc..3000631 100644
--- a/paludis/dep_spec.cc
+++ b/paludis/dep_spec.cc
@@ -829,11 +829,6 @@ SimpleURIDepSpec::clone() const
namespace paludis
{
- /**
- * Implementation data for UseRequirements.
- *
- * \ingroup grpdepspecs
- */
template<>
struct Implementation<UseRequirements>
{
diff --git a/paludis/find_unused_packages_task.hh b/paludis/find_unused_packages_task.hh
index a680979..f2edf5f 100644
--- a/paludis/find_unused_packages_task.hh
+++ b/paludis/find_unused_packages_task.hh
@@ -26,25 +26,31 @@
#include <paludis/environment-fwd.hh>
#include <paludis/repository-fwd.hh>
+/** \file
+ * Declarations for FindUnusedPackagesTask.
+ *
+ * \ingroup g_tasks
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
* Task to find unused package versions for a given package name.
*
- * \ingroup grptasks
+ * \ingroup g_tasks
* \nosubgrouping
*/
class PALUDIS_VISIBLE FindUnusedPackagesTask :
InstantiationPolicy<FindUnusedPackagesTask, instantiation_method::NonCopyableTag>
{
private:
- /// Our environment
const Environment * const _env;
-
- /// Our repository
const Repository * const _repo;
-
public:
///\name Basic operations
///\{
diff --git a/paludis/handled_information-fwd.hh b/paludis/handled_information-fwd.hh
index eb394aa..9062da0 100644
--- a/paludis/handled_information-fwd.hh
+++ b/paludis/handled_information-fwd.hh
@@ -20,6 +20,12 @@
#ifndef PALUDIS_GUARD_PALUDIS_HANDLED_INFORMATION_FWD_HH
#define PALUDIS_GUARD_PALUDIS_HANDLED_INFORMATION_FWD_HH 1
+/** \file
+ * Forward declarations for paludis/handled_information.hh .
+ *
+ * \ingroup g_dep_list
+ */
+
namespace paludis
{
class DepListEntryHandled;
diff --git a/paludis/handled_information.hh b/paludis/handled_information.hh
index 49638b8..7b7c9e9 100644
--- a/paludis/handled_information.hh
+++ b/paludis/handled_information.hh
@@ -26,8 +26,26 @@
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/dep_spec-fwd.hh>
+/** \file
+ * Declarations for DepListEntryHandled classes, which are used by DepList and
+ * InstallTask to keep track of whether a DepListEntry has been handled yet.
+ *
+ * \ingroup g_dep_list
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
+ /**
+ * Types for a visitor that can visit a DepListEntry subclass.
+ *
+ * \ingroup g_dep_list
+ * \since 0.26
+ * \nosubgrouping
+ */
struct DepListEntryHandledVisitorTypes :
VisitorTypes<
DepListEntryHandledVisitorTypes,
@@ -41,6 +59,13 @@ namespace paludis
{
};
+ /**
+ * Represents a DepListEntry that has been handled.
+ *
+ * \ingroup g_dep_list
+ * \since 0.26
+ * \nosubgrouping
+ */
class PALUDIS_VISIBLE DepListEntryHandled :
public virtual ConstAcceptInterface<DepListEntryHandledVisitorTypes>
{
@@ -48,36 +73,81 @@ namespace paludis
virtual ~DepListEntryHandled() = 0;
};
+ /**
+ * Represents a DepListEntry that has not been handled.
+ *
+ * \ingroup g_dep_list
+ * \since 0.26
+ * \nosubgrouping
+ */
class PALUDIS_VISIBLE DepListEntryUnhandled :
public DepListEntryHandled,
public ConstAcceptInterfaceVisitsThis<DepListEntryHandledVisitorTypes, DepListEntryUnhandled>
{
};
+ /**
+ * Represents a DepListEntry that requires no handling.
+ *
+ * \ingroup g_dep_list
+ * \since 0.26
+ * \nosubgrouping
+ */
class PALUDIS_VISIBLE DepListEntryNoHandlingRequired :
public DepListEntryHandled,
public ConstAcceptInterfaceVisitsThis<DepListEntryHandledVisitorTypes, DepListEntryNoHandlingRequired>
{
};
+ /**
+ * Represents a DepListEntry that has been handled successfully.
+ *
+ * \ingroup g_dep_list
+ * \since 0.26
+ * \nosubgrouping
+ */
class PALUDIS_VISIBLE DepListEntryHandledSuccess :
public DepListEntryHandled,
public ConstAcceptInterfaceVisitsThis<DepListEntryHandledVisitorTypes, DepListEntryHandledSuccess>
{
};
+ /**
+ * Represents a DepListEntry that was skipped because of unsatisfied
+ * dependencies.
+ *
+ * \ingroup g_dep_list
+ * \since 0.26
+ * \nosubgrouping
+ */
class PALUDIS_VISIBLE DepListEntryHandledSkippedUnsatisfied :
public DepListEntryHandled,
public ConstAcceptInterfaceVisitsThis<DepListEntryHandledVisitorTypes, DepListEntryHandledSkippedUnsatisfied>,
private PrivateImplementationPattern<DepListEntryHandledSkippedUnsatisfied>
{
public:
+ ///\name Basic operations
+ ///\{
+
DepListEntryHandledSkippedUnsatisfied(const PackageDepSpec &);
~DepListEntryHandledSkippedUnsatisfied();
+ ///\}
+
+ /**
+ * What PackageDepSpec was unsatisfied? If multiple specs were
+ * unsatisfied, returns one of them.
+ */
const PackageDepSpec spec() const PALUDIS_ATTRIBUTE((warn_unused_result));
};
+ /**
+ * Represents a DepListEntry that failed.
+ *
+ * \ingroup g_dep_list
+ * \since 0.26
+ * \nosubgrouping
+ */
class PALUDIS_VISIBLE DepListEntryHandledFailed :
public DepListEntryHandled,
public ConstAcceptInterfaceVisitsThis<DepListEntryHandledVisitorTypes, DepListEntryHandledFailed>
diff --git a/paludis/hashed_containers.cc b/paludis/hashed_containers.cc
index 57312bf..22751b5 100644
--- a/paludis/hashed_containers.cc
+++ b/paludis/hashed_containers.cc
@@ -23,12 +23,6 @@
#include <paludis/package_id.hh>
#include <paludis/repository.hh>
-/** \file
- * Implementation for hashed_containers.hh.
- *
- * \ingroup grphashedcontainers
- */
-
using namespace paludis;
#if defined(PALUDIS_HASH_IS_STD_TR1_UNORDERED) || defined(PALUDIS_HASH_IS_GNU_CXX_HASH) || defined(PALUDIS_HASH_IS_STD_HASH)
diff --git a/paludis/hashed_containers.hh b/paludis/hashed_containers.hh
index 2a70e08..2084add 100644
--- a/paludis/hashed_containers.hh
+++ b/paludis/hashed_containers.hh
@@ -21,10 +21,23 @@
#define PALUDIS_GUARD_PALUDIS_HASHED_CONTAINERS_HH 1
/** \file
- * Declarations for the MakeHashedMap and MakeHashedSet classes, and related
- * utilities.
+ * Declarations for various hashed container things.
*
- * \ingroup grphashedcontainers
+ * These are more complicated than they should be for two reasons:
+ *
+ * - There is no standard hashed container in C++. There is one in TR1, but not
+ * all compilers support TR1 yet. Most pre-TR1 standard library
+ * implementations do include hashed containers, but with various different
+ * class names and in different header files. For performance reasons, we need
+ * hashed containers if at all possible.
+ *
+ * - The current C++ standard doesn't have template typedefs.
+ *
+ * \ingroup g_data_structures
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
#include <paludis/util/validated.hh>
@@ -56,7 +69,7 @@ namespace paludis
/**
* Hash function base template.
*
- * \ingroup grphashedcontainers
+ * \ingroup g_data_structures
*/
template <typename T_>
struct CRCHash;
@@ -64,7 +77,7 @@ namespace paludis
/**
* Make a hashed map of some kind from Key_ to Value_.
*
- * \ingroup grphashedcontainers
+ * \ingroup g_data_structures
*/
template <typename Key_, typename Value_>
struct MakeHashedMap
@@ -90,7 +103,7 @@ namespace paludis
/**
* Make a hashed map of some kind from Key_ to Value_.
*
- * \ingroup grphashedcontainers
+ * \ingroup g_data_structures
*/
template <typename Key_, typename Value_>
struct MakeHashedMultiMap
@@ -116,7 +129,7 @@ namespace paludis
/**
* Make a hashed set of some kind of Key_.
*
- * \ingroup grphashedcontainers
+ * \ingroup g_data_structures
*/
template <typename Key_>
struct MakeHashedSet
@@ -142,7 +155,7 @@ namespace paludis
/**
* Make a hashed set of some kind of Key_.
*
- * \ingroup grphashedcontainers
+ * \ingroup g_data_structures
*/
template <typename Key_>
struct MakeHashedMultiSet
@@ -171,7 +184,7 @@ namespace paludis
/**
* Base definitions for our CRCHash.
*
- * \ingroup grphashedcontainers
+ * \ingroup g_data_structures
*/
struct CRCHashBase
{
@@ -186,7 +199,7 @@ namespace paludis
/**
* Hash, for QualifiedPackageName.
*
- * \ingroup grphashedcontainers
+ * \ingroup g_data_structures
*/
template <>
class PALUDIS_VISIBLE CRCHash<QualifiedPackageName> :
@@ -214,7 +227,7 @@ namespace paludis
/**
* Hash, for PackageID.
*
- * \ingroup grphashedcontainers
+ * \ingroup g_data_structures
*/
template <>
class PALUDIS_VISIBLE CRCHash<PackageID> :
@@ -239,7 +252,7 @@ namespace paludis
/**
* Hash, for a validated string type.
*
- * \ingroup grphashedcontainers
+ * \ingroup g_data_structures
*/
template <typename Validated_, bool b_>
class CRCHash<Validated<std::string, Validated_, b_> > :
@@ -269,7 +282,7 @@ namespace paludis
/**
* Hash, for a string.
*
- * \ingroup grphashedcontainers
+ * \ingroup g_data_structures
*/
template<>
class PALUDIS_VISIBLE CRCHash<std::string> :
@@ -297,7 +310,7 @@ namespace paludis
/**
* Hash, for a QualifiedPackageName + VersionSpec pair.
*
- * \ingroup grphashedcontainers
+ * \ingroup g_data_structures
*/
template <>
class PALUDIS_VISIBLE CRCHash<std::pair<QualifiedPackageName, VersionSpec> > :
@@ -326,7 +339,7 @@ namespace paludis
/**
* Hash, for a shared pointer.
*
- * \ingroup grphashedcontainers
+ * \ingroup g_data_structures
*/
template <typename T_>
class PALUDIS_VISIBLE CRCHash<tr1::shared_ptr<T_> > :
diff --git a/paludis/hook-fwd.hh b/paludis/hook-fwd.hh
index fae46eb..223ec36 100644
--- a/paludis/hook-fwd.hh
+++ b/paludis/hook-fwd.hh
@@ -24,6 +24,12 @@
#include <paludis/util/attributes.hh>
#include <iosfwd>
+/** \file
+ * Forward declarations for paludis/hook.hh .
+ *
+ * \ingroup g_hooks
+ */
+
namespace paludis
{
diff --git a/paludis/hook.hh b/paludis/hook.hh
index 78beb0f..e186580 100644
--- a/paludis/hook.hh
+++ b/paludis/hook.hh
@@ -31,15 +31,26 @@
#include <string>
#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
+/** \file
+ * Declarations for the Hook classes.
+ *
+ * \ingroup g_hooks
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
#include <paludis/hook-sr.hh>
/**
- * Represents the data for an Environment hook call.
+ * Represents the data for a hook call.
*
- * \ingroup grpenvironment
+ * \see Environment::perform_hook
+ * \ingroup g_hooks
* \nosubgrouping
*/
class PALUDIS_VISIBLE Hook :
@@ -91,18 +102,32 @@ namespace paludis
PALUDIS_ATTRIBUTE((warn_unused_result));
};
+ /**
+ * Hooks with grabbed output can specify that only certain output values are
+ * allowed.
+ *
+ * \ingroup g_hooks
+ * \since 0.26
+ * \nosubgrouping
+ */
class PALUDIS_VISIBLE Hook::AllowedOutputValues :
private PrivateImplementationPattern<Hook::AllowedOutputValues>
{
friend class Hook;
public:
+ ///\name Basic operations
+ ///\{
+
AllowedOutputValues();
AllowedOutputValues(const AllowedOutputValues & other);
~AllowedOutputValues();
+ ///\}
+
+ /// Add a new allowed value.
AllowedOutputValues operator() (const std::string & v) const
PALUDIS_ATTRIBUTE((warn_unused_result));
};
@@ -110,6 +135,7 @@ namespace paludis
extern "C" paludis::HookResult PALUDIS_VISIBLE paludis_hook_run(
const paludis::Environment *, const paludis::Hook &);
+
extern "C" void PALUDIS_VISIBLE paludis_hook_add_dependencies(
const paludis::Environment *, const paludis::Hook &, paludis::DirectedGraph<std::string, int> &);
diff --git a/paludis/hook.se b/paludis/hook.se
index 3c8a7cf..6ea3773 100644
--- a/paludis/hook.se
+++ b/paludis/hook.se
@@ -12,7 +12,7 @@ make_enum_HookOutputDestination()
/**
* Determines what to do with hook's output.
*
- * \ingroup grpenvironment
+ * \ingroup g_hooks
*/
END
}
diff --git a/paludis/hook.sr b/paludis/hook.sr
index 57f5c02..43c5b26 100644
--- a/paludis/hook.sr
+++ b/paludis/hook.sr
@@ -15,7 +15,7 @@ make_class_HookResult()
* Result of a Hook.
*
* \see Hook
- * \ingroup grpenvironment
+ * \ingroup g_hooks
* \nosubgrouping
*/
END
diff --git a/paludis/hooker.cc b/paludis/hooker.cc
index 6e4ce34..01e6e22 100644
--- a/paludis/hooker.cc
+++ b/paludis/hooker.cc
@@ -42,6 +42,10 @@
using namespace paludis;
+HookFile::~HookFile()
+{
+}
+
namespace
{
class BashHookFile :
diff --git a/paludis/hooker.hh b/paludis/hooker.hh
index 1791aa8..9cf0435 100644
--- a/paludis/hooker.hh
+++ b/paludis/hooker.hh
@@ -25,6 +25,16 @@
#include <paludis/util/graph-fwd.hh>
#include <string>
+/** \file
+ * Declarations for the Hooker class, which is used to run hooks.
+ *
+ * \ingroup g_hooks
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
class FSEntry;
@@ -32,13 +42,22 @@ namespace paludis
class Hook;
class HookResult;
- class HookFile :
+ /**
+ * A HookFile provides an abstraction of a hook file.
+ *
+ * \ingroup g_hooks
+ * \nosubgrouping
+ */
+ class PALUDIS_VISIBLE HookFile :
private InstantiationPolicy<HookFile, instantiation_method::NonCopyableTag>
{
public:
- virtual ~HookFile()
- {
- }
+ ///\name Basic operations
+ ///\{
+
+ virtual ~HookFile();
+
+ ///\}
virtual HookResult run(const Hook &) const PALUDIS_ATTRIBUTE((warn_unused_result)) = 0;
virtual const FSEntry file_name() const = 0;
@@ -46,9 +65,9 @@ namespace paludis
};
/**
- * Handles executing hooks for an Environment.
+ * Handles executing hooks.
*
- * \ingroup grphooker
+ * \ingroup g_hooks
* \nosubgrouping
*/
class PALUDIS_VISIBLE Hooker :
diff --git a/paludis/host_tuple_name.cc b/paludis/host_tuple_name.cc
index 3be1750..421d2b6 100644
--- a/paludis/host_tuple_name.cc
+++ b/paludis/host_tuple_name.cc
@@ -26,12 +26,6 @@
#include <vector>
#include <ostream>
-/** \file
- * Implementation of host_tuple_name.hh things.
- *
- * \ingroup grpnames
- */
-
using namespace paludis;
#include <paludis/host_tuple_name-sr.cc>
@@ -237,3 +231,4 @@ UserlandNamePartError::UserlandNamePartError(const std::string & name) throw ()
HostTupleNameError(name, "userland name part")
{
}
+
diff --git a/paludis/host_tuple_name.hh b/paludis/host_tuple_name.hh
index fb8fbad..544fa7c 100644
--- a/paludis/host_tuple_name.hh
+++ b/paludis/host_tuple_name.hh
@@ -29,9 +29,13 @@
#include <iosfwd>
/** \file
- * Declarations for various Name classes.
+ * Declarations for various additional cross-compiling related Name classes.
*
- * \ingroup grphosttuplename
+ * \ingroup g_names
+ *
+ * \section Examples
+ *
+ * - \ref example_name.cc "example_name.cc"
*/
namespace paludis
@@ -40,8 +44,8 @@ namespace paludis
* A HostTupleNameError is thrown if an invalid value is assigned to
* an HostTupleName.
*
- * \ingroup grphosttuplename
- * \ingroup grpexceptions
+ * \ingroup g_names
+ * \ingroup g_exceptions
*/
class PALUDIS_VISIBLE HostTupleNameError : public NameError
{
@@ -61,8 +65,8 @@ namespace paludis
* An ArchitectureNamePartError is thrown if an invalid value is assigned to
* an ArchitectureNamePart.
*
- * \ingroup grphosttuplename
- * \ingroup grpexceptions
+ * \ingroup g_names
+ * \ingroup g_exceptions
*/
class PALUDIS_VISIBLE ArchitectureNamePartError : public HostTupleNameError
{
@@ -77,7 +81,7 @@ namespace paludis
* An ArchitectureNamePartValidator handles validation rules for the value
* of an ArchitectureNamePart.
*
- * \ingroup grphosttuplename
+ * \ingroup g_names
*/
struct PALUDIS_VISIBLE ArchitectureNamePartValidator :
private InstantiationPolicy<ArchitectureNamePartValidator, instantiation_method::NonInstantiableTag>
@@ -93,7 +97,7 @@ namespace paludis
* An ArchitectureNamePart holds a std::string that is a valid name for the
* architecture part of a HostTupleName.
*
- * \ingroup grphosttuplename
+ * \ingroup g_names
*/
typedef Validated<std::string, ArchitectureNamePartValidator> ArchitectureNamePart;
@@ -101,8 +105,8 @@ namespace paludis
* An ManufacturerNamePartError is thrown if an invalid value is assigned to
* an ManufacturerNamePart.
*
- * \ingroup grphosttuplename
- * \ingroup grpexceptions
+ * \ingroup g_names
+ * \ingroup g_exceptions
*/
class PALUDIS_VISIBLE ManufacturerNamePartError : public HostTupleNameError
{
@@ -117,7 +121,7 @@ namespace paludis
* An ManufacturerNamePartValidator handles validation rules for the value
* of an ManufacturerNamePart.
*
- * \ingroup grphosttuplename
+ * \ingroup g_names
*/
struct PALUDIS_VISIBLE ManufacturerNamePartValidator :
private InstantiationPolicy<ManufacturerNamePartValidator, instantiation_method::NonInstantiableTag>
@@ -133,7 +137,7 @@ namespace paludis
* An ManufacturerNamePart holds a std::string that is a valid name for the
* architecture part of a HostTupleName.
*
- * \ingroup grphosttuplename
+ * \ingroup g_names
*/
typedef Validated<std::string, ManufacturerNamePartValidator> ManufacturerNamePart;
@@ -141,8 +145,8 @@ namespace paludis
* An KernelNamePartError is thrown if an invalid value is assigned to
* an KernelNamePart.
*
- * \ingroup grphosttuplename
- * \ingroup grpexceptions
+ * \ingroup g_names
+ * \ingroup g_exceptions
*/
class PALUDIS_VISIBLE KernelNamePartError : public HostTupleNameError
{
@@ -157,7 +161,7 @@ namespace paludis
* An KernelNamePartValidator handles validation rules for the value
* of an KernelNamePart.
*
- * \ingroup grphosttuplename
+ * \ingroup g_names
*/
struct PALUDIS_VISIBLE KernelNamePartValidator :
private InstantiationPolicy<KernelNamePartValidator, instantiation_method::NonInstantiableTag>
@@ -173,7 +177,7 @@ namespace paludis
* An KernelNamePart holds a std::string that is a valid name for the
* architecture part of a HostTupleName.
*
- * \ingroup grphosttuplename
+ * \ingroup g_names
*/
typedef Validated<std::string, KernelNamePartValidator> KernelNamePart;
@@ -181,8 +185,8 @@ namespace paludis
* An UserlandNamePartError is thrown if an invalid value is assigned to
* an UserlandNamePart.
*
- * \ingroup grphosttuplename
- * \ingroup grpexceptions
+ * \ingroup g_names
+ * \ingroup g_exceptions
*/
class PALUDIS_VISIBLE UserlandNamePartError : public HostTupleNameError
{
@@ -197,7 +201,7 @@ namespace paludis
* An UserlandNamePartValidator handles validation rules for the value
* of an UserlandNamePart.
*
- * \ingroup grphosttuplename
+ * \ingroup g_names
*/
struct PALUDIS_VISIBLE UserlandNamePartValidator :
private InstantiationPolicy<UserlandNamePartValidator, instantiation_method::NonInstantiableTag>
@@ -213,7 +217,7 @@ namespace paludis
* An UserlandNamePart holds a std::string that is a valid name for the
* architecture part of a HostTupleName.
*
- * \ingroup grphosttuplename
+ * \ingroup g_names
*/
typedef Validated<std::string, UserlandNamePartValidator> UserlandNamePart;
@@ -223,7 +227,7 @@ namespace paludis
/**
* Output a QualifiedPackageName to a stream.
*
- * \ingroup grphosttuplename
+ * \ingroup g_names
*/
std::ostream & operator<< (std::ostream &, const HostTupleName &) PALUDIS_VISIBLE;
}
diff --git a/paludis/host_tuple_name.sr b/paludis/host_tuple_name.sr
index 7c1b660..b831a97 100644
--- a/paludis/host_tuple_name.sr
+++ b/paludis/host_tuple_name.sr
@@ -20,8 +20,7 @@ END
/**
* Represents a host tuple name as expected by autotools.
*
- * \ingroup grpnames
- * \ingroup grphosttuplename
+ * \ingroup g_names
* \nosubgrouping
*/
END
diff --git a/paludis/install_task.hh b/paludis/install_task.hh
index 10e3f33..5bbe3e9 100644
--- a/paludis/install_task.hh
+++ b/paludis/install_task.hh
@@ -30,6 +30,16 @@
#include <paludis/package_database-fwd.hh>
#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
+/** \file
+ * Declarations for InstallTask.
+ *
+ * \ingroup g_tasks
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
class Environment;
@@ -39,7 +49,7 @@ namespace paludis
/**
* Task used to install one or more targets.
*
- * \ingroup grptasks
+ * \ingroup g_tasks
* \nosubgrouping
*/
class PALUDIS_VISIBLE InstallTask :
diff --git a/paludis/install_task.se b/paludis/install_task.se
index 06460f1..1077013 100644
--- a/paludis/install_task.se
+++ b/paludis/install_task.se
@@ -17,7 +17,7 @@ make_enum_InstallTaskContinueOnFailure()
* How to handle a failure when executing InstallTask.
*
* \see InstallTask
- * \ingroup grptasks
+ * \ingroup g_tasks
*/
END
}
diff --git a/paludis/md5.hh b/paludis/md5.hh
index 5d94a2e..5feac91 100644
--- a/paludis/md5.hh
+++ b/paludis/md5.hh
@@ -25,12 +25,22 @@
#include <inttypes.h>
#include <paludis/util/attributes.hh>
+/** \file
+ * Declarations for the MD5 digest class.
+ *
+ * \ingroup g_digests
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
* MD5 digest class.
*
- * \ingroup grplibpaludisdigests
+ * \ingroup g_digests
*/
class PALUDIS_VISIBLE MD5
{
diff --git a/paludis/merger.hh b/paludis/merger.hh
index f918193..ceb17a9 100644
--- a/paludis/merger.hh
+++ b/paludis/merger.hh
@@ -26,6 +26,17 @@
#include <paludis/merger_entry_type.hh>
#include <iosfwd>
+/** \file
+ * Declarations for the Merger class, which can be used by Repository
+ * implementations to perform to-filesystem merging.
+ *
+ * \ingroup g_repository
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
class Environment;
@@ -36,8 +47,8 @@ namespace paludis
/**
* Thrown if an error occurs during a Merger operation.
*
- * \ingroup grpmerger
- * \ingroup grpexceptions
+ * \ingroup g_repository
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE MergerError :
@@ -55,8 +66,8 @@ namespace paludis
/**
* Handles merging an image to a live filesystem.
*
- * \ingroup grpmerger
- * \ingroup grpexceptions
+ * \ingroup g_exceptions
+ * \ingroup g_repository
* \nosubgrouping
*/
class PALUDIS_VISIBLE Merger
diff --git a/paludis/merger.sr b/paludis/merger.sr
index f71d934..78f6a26 100644
--- a/paludis/merger.sr
+++ b/paludis/merger.sr
@@ -17,7 +17,7 @@ make_class_MergerOptions()
* Options for a basic Merger.
*
* \see Merger
- * \ingroup grpmerger
+ * \ingroup g_repository
* \nosubgrouping
*/
END
diff --git a/paludis/merger_entry_type.hh b/paludis/merger_entry_type.hh
index affc4c4..39e229a 100644
--- a/paludis/merger_entry_type.hh
+++ b/paludis/merger_entry_type.hh
@@ -17,13 +17,22 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
-
#ifndef PALUDIS_GUARD_PALUDIS_MERGER_ENTRY_TYPE_HH
#define PALUDIS_GUARD_PALUDIS_MERGER_ENTRY_TYPE_HH 1
#include <paludis/util/stringify.hh>
#include <paludis/util/exception.hh>
+/** \file
+ * Declarations for the EntryType enum, which is used by Merger and Unmerger.
+ *
+ * \ingroup g_repository
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
#include <paludis/merger_entry_type-se.hh>
diff --git a/paludis/merger_entry_type.se b/paludis/merger_entry_type.se
index 15e8108..90509de 100644
--- a/paludis/merger_entry_type.se
+++ b/paludis/merger_entry_type.se
@@ -16,7 +16,7 @@ make_enum_EntryType()
* The type of file.
*
* \see Merger
- * \ingroup grpdepresolver
+ * \ingroup g_repository
*/
END
}
diff --git a/paludis/override_functions.hh b/paludis/override_functions.hh
index 2d1daaa..bc86752 100644
--- a/paludis/override_functions.hh
+++ b/paludis/override_functions.hh
@@ -25,17 +25,51 @@
#include <paludis/package_id-fwd.hh>
#include <paludis/mask-fwd.hh>
+/** \file
+ * Declarations for various override functions for DepList.
+ *
+ * \ingroup g_dep_list
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
+ /**
+ * Override a mask if it is a ~keyword mask, and keyword is accepted.
+ *
+ * \ingroup g_dep_list
+ * \since 0.26
+ */
bool override_tilde_keywords(const Environment * const e, const PackageID & i, const Mask & m)
PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE;
+ /**
+ * Override a mask if it is due to a missing keyword.
+ *
+ * \ingroup g_dep_list
+ * \since 0.26
+ */
bool override_unkeyworded(const Environment * const e, const PackageID & i, const Mask & m)
PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE;
+ /**
+ * Override a mask if it is a repository mask.
+ *
+ * \ingroup g_dep_list
+ * \since 0.26
+ */
bool override_repository_masks(const Mask & m)
PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE;
+ /**
+ * Override a mask if it is a license mask.
+ *
+ * \ingroup g_dep_list
+ * \since 0.26
+ */
bool override_license(const Mask & m)
PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE;
}
diff --git a/paludis/qa-fwd.hh b/paludis/qa-fwd.hh
index 18195b3..1e6e1ce 100644
--- a/paludis/qa-fwd.hh
+++ b/paludis/qa-fwd.hh
@@ -24,12 +24,24 @@
#include <paludis/util/options-fwd.hh>
#include <iosfwd>
+/** \file
+ * Forward declarations for paludis/qa.hh .
+ *
+ * \ingroup g_repository
+ */
+
namespace paludis
{
class QAReporter;
#include <paludis/qa-se.hh>
+ /**
+ * A collection of properties for a QA check.
+ *
+ * \since 0.26
+ * \ingroup g_repository
+ */
typedef Options<QACheckProperty> QACheckProperties;
}
diff --git a/paludis/qa.hh b/paludis/qa.hh
index 48b1c7c..27c232f 100644
--- a/paludis/qa.hh
+++ b/paludis/qa.hh
@@ -28,15 +28,34 @@
#include <paludis/util/set-fwd.hh>
#include <paludis/util/sr.hh>
+/** \file
+ * Declarations for Repository QA classes.
+ *
+ * \ingroup g_repository
+ *
+ * \section Examples
+ *
+ * - \ref example_repository.cc "example_repository.cc"
+ */
+
namespace paludis
{
#include <paludis/qa-sr.hh>
+ /**
+ * A QAReporter subclass is passed to RepositoryQAInterface::check_qa to do
+ * the reporting.
+ *
+ * \ingroup g_repository
+ */
class PALUDIS_VISIBLE QAReporter
{
public:
virtual ~QAReporter() = 0;
+ /**
+ * Report a QA message.
+ */
virtual void message(const QAMessage &) = 0;
};
}
diff --git a/paludis/qa.se b/paludis/qa.se
index 07f5782..11210c3 100644
--- a/paludis/qa.se
+++ b/paludis/qa.se
@@ -16,7 +16,8 @@ make_enum_QAMessageLevel()
* The importance of a QA notice.
*
* \see RepositoryQAInterface
- * \ingroup grprepository
+ * \since 0.26
+ * \ingroup g_repository
*/
END
}
@@ -34,6 +35,8 @@ make_enum_QACheckProperty()
*
* \see RepositoryQAInterface
* \see QACheckProperties
+ * \since 0.26
+ * \ingroup g_repository
*/
END
}
diff --git a/paludis/qa.sr b/paludis/qa.sr
index 394e924..12d8314 100644
--- a/paludis/qa.sr
+++ b/paludis/qa.sr
@@ -22,4 +22,16 @@ make_class_QAMessage()
END
allow_named_args
+
+ doxygen_comment << "END"
+ /**
+ * Parameters for a QA message.
+ *
+ * \see RepositoryQAInterface
+ * \ingroup g_repository
+ * \since 0.26
+ * \nosubgrouping
+ */
+END
}
+
diff --git a/paludis/query_visitor.hh b/paludis/query_visitor.hh
index d666869..aa51c7a 100644
--- a/paludis/query_visitor.hh
+++ b/paludis/query_visitor.hh
@@ -24,12 +24,22 @@
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/dep_spec-fwd.hh>
+/** \file
+ * Declarations for QueryVisitor, which is used internally by DepList.
+ *
+ * \ingroup g_dep_list
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
* Used by DepList to check for existing deps.
*
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
* \nosubgrouping
*/
class QueryVisitor :
diff --git a/paludis/range_rewriter.hh b/paludis/range_rewriter.hh
index 64e2569..04a4718 100644
--- a/paludis/range_rewriter.hh
+++ b/paludis/range_rewriter.hh
@@ -22,6 +22,16 @@
#include <paludis/dep_tree.hh>
+/** \file
+ * Declarations for RangeRewriter, which is used internally by Deplist.
+ *
+ * \ingroup g_dep_list
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
@@ -29,7 +39,7 @@ namespace paludis
* collections of PackageDepSpec with a single PackageDepSpec using ranged
* dependencies.
*
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
* \nosubgrouping
*/
class PALUDIS_VISIBLE RangeRewriter :
diff --git a/paludis/report_task.cc b/paludis/report_task.cc
index c1e8c67..3e9b277 100644
--- a/paludis/report_task.cc
+++ b/paludis/report_task.cc
@@ -53,17 +53,11 @@ namespace
using ConstVisitor<SetSpecTree>::VisitConstSequence<VulnerableChecker, AllDepSpec>::visit;
- /**
- * Constructor.
- */
VulnerableChecker(const Environment & e) :
_env(e)
{
}
- /// \name Visit functions
- ///{
-
void visit_leaf(const PackageDepSpec &);
void visit_leaf(const NamedSetDepSpec & s)
@@ -88,11 +82,6 @@ namespace
_recursing_sets.erase(s.name());
}
- ///}
-
- /**
- * Return whether a PDE is insecure or not
- */
std::pair<ConstIterator, ConstIterator> insecure_tags(const tr1::shared_ptr<const PackageID> & id) const
{
return _found.equal_range(id);
diff --git a/paludis/report_task.hh b/paludis/report_task.hh
index 4597590..5b1b488 100644
--- a/paludis/report_task.hh
+++ b/paludis/report_task.hh
@@ -24,6 +24,16 @@
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/repository.hh>
+/** \file
+ * Declarations for ReportTask.
+ *
+ * \ingroup g_tasks
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
class Environment;
@@ -31,7 +41,7 @@ namespace paludis
/**
* Task to report the current state of the system.
*
- * \ingroup grptasks
+ * \ingroup g_tasks
* \nosubgrouping
*/
class PALUDIS_VISIBLE ReportTask :
diff --git a/paludis/repository_maker.hh b/paludis/repository_maker.hh
index a3a4de2..5feec99 100644
--- a/paludis/repository_maker.hh
+++ b/paludis/repository_maker.hh
@@ -26,6 +26,16 @@
#include <paludis/util/map-fwd.hh>
#include <paludis/repository.hh>
+/** \file
+ * Declarations for the RepositoryMaker.
+ *
+ * \ingroup g_repository
+ *
+ * \section Examples
+ *
+ * - \ref example_repository.cc "example_repository.cc"
+ */
+
namespace paludis
{
class FSEntry;
@@ -33,8 +43,8 @@ namespace paludis
/**
* Thrown if a repository of the specified type does not exist.
*
- * \ingroup grpexceptions
- * \ingroup grprepository
+ * \ingroup g_exceptions
+ * \ingroup g_repository
* \nosubgrouping
*/
class PALUDIS_VISIBLE NoSuchRepositoryTypeError : public ConfigurationError
@@ -49,8 +59,8 @@ namespace paludis
/**
* Thrown if PALUDIS_REPOSITORY_SO_DIR is not a directory.
*
- * \ingroup grpexceptions
- * \ingroup grprepository
+ * \ingroup g_exceptions
+ * \ingroup g_repository
*/
class PALUDIS_VISIBLE PaludisRepositorySoDirNotADirectoryError :
public Exception
@@ -62,8 +72,8 @@ namespace paludis
/**
* Thrown if a repository .so cannot be used.
*
- * \ingroup grpexceptions
- * \ingroup grprepository
+ * \ingroup g_exceptions
+ * \ingroup g_repository
*/
class PALUDIS_VISIBLE PaludisRepositorySoDirCannotDlopenError :
public Exception
@@ -89,7 +99,7 @@ namespace paludis
/**
* Virtual constructor for repositories.
*
- * \ingroup grprepository
+ * \ingroup g_repository
*/
class PALUDIS_VISIBLE RepositoryMaker :
public VirtualConstructor<std::string,
diff --git a/paludis/repository_name_cache.hh b/paludis/repository_name_cache.hh
index 677f112..15af4b1 100644
--- a/paludis/repository_name_cache.hh
+++ b/paludis/repository_name_cache.hh
@@ -24,6 +24,17 @@
#include <paludis/util/tr1_memory.hh>
#include <paludis/name.hh>
+/** \file
+ * Declarations for RepositoryNameCache, which is used by some Repository
+ * subclasses to implement a names class.
+ *
+ * \ingroup g_repository
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
class FSEntry;
@@ -33,7 +44,7 @@ namespace paludis
* Used by various Repository subclasses to implement a names cache.
*
* \see Repository
- * \ingroup grprepository
+ * \ingroup g_repository
* \nosubgrouping
*/
class PALUDIS_VISIBLE RepositoryNameCache :
diff --git a/paludis/rmd160.hh b/paludis/rmd160.hh
index eb304ce..94c6df0 100644
--- a/paludis/rmd160.hh
+++ b/paludis/rmd160.hh
@@ -25,12 +25,22 @@
#include <inttypes.h>
#include <paludis/util/attributes.hh>
+/** \file
+ * Declarations for the RMD160 digest class.
+ *
+ * \ingroup g_digests
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
* RMD160 digest class.
*
- * \ingroup grplibpaludisdigests
+ * \ingroup g_digests
*/
class PALUDIS_VISIBLE RMD160
{
diff --git a/paludis/set_file.hh b/paludis/set_file.hh
index 186b197..309f860 100644
--- a/paludis/set_file.hh
+++ b/paludis/set_file.hh
@@ -30,6 +30,18 @@
#include <paludis/dep_tag-fwd.hh>
#include <iosfwd>
+/** \file
+ * Declarations for the SetFile classes, which are used by Environment and
+ * Repository implementations for files containing a package set.
+ *
+ * \ingroup g_environment
+ * \ingroup g_repository
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
class Environment;
@@ -40,7 +52,9 @@ namespace paludis
/**
* Thrown if there is a problem reading or writing a SetFile.
*
- * \ingroup grpsetfile
+ * \ingroup g_environment
+ * \ingroup g_repository
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE SetFileError :
@@ -66,7 +80,8 @@ namespace paludis
*
* The file can be modified if it is sft_paludis_conf or sft_simple.
*
- * \ingroup grpsetfile
+ * \ingroup g_environment
+ * \ingroup g_repository
* \nosubgrouping
*/
class PALUDIS_VISIBLE SetFile :
@@ -99,8 +114,6 @@ namespace paludis
/**
* Remove any matching lines.
- *
- * \return True if we removed anything.
*/
void remove(const std::string &);
};
diff --git a/paludis/set_file.se b/paludis/set_file.se
index 12832ca..8f173fa 100644
--- a/paludis/set_file.se
+++ b/paludis/set_file.se
@@ -14,7 +14,8 @@ make_enum_SetFileType()
* The type of a SetFile.
*
* \see SetFile
- * \ingroup grpsetfile
+ * \ingroup g_repository
+ * \ingroup g_environment
*/
END
}
diff --git a/paludis/set_file.sr b/paludis/set_file.sr
index f5d4e1a..9c975a7 100644
--- a/paludis/set_file.sr
+++ b/paludis/set_file.sr
@@ -15,7 +15,8 @@ make_class_SetFileParams()
* Parameters for a SetFile.
*
* \see SetFile
- * \ingroup grpsetfile
+ * \ingroup g_repository
+ * \ingroup g_environment
* \nosubgrouping
*/
END
diff --git a/paludis/sha256.hh b/paludis/sha256.hh
index baf89b1..6ee9619 100644
--- a/paludis/sha256.hh
+++ b/paludis/sha256.hh
@@ -25,12 +25,22 @@
#include <paludis/util/attributes.hh>
#include <inttypes.h>
+/** \file
+ * Declarations for the SHA256 digest class.
+ *
+ * \ingroup g_digests
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
* SHA256 digest class.
*
- * \ingroup grplibpaludisdigests
+ * \ingroup g_digests
*/
class PALUDIS_VISIBLE SHA256
{
diff --git a/paludis/show_suggest_visitor.hh b/paludis/show_suggest_visitor.hh
index 1efc8da..349d6c9 100644
--- a/paludis/show_suggest_visitor.hh
+++ b/paludis/show_suggest_visitor.hh
@@ -24,12 +24,22 @@
#include <paludis/dep_list-fwd.hh>
#include <paludis/dep_spec-fwd.hh>
+/** \file
+ * Declarations for ShowSuggestVisitor, which is used internally by DepList.
+ *
+ * \ingroup g_dep_list
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
* Used by DepList to add suggested deps.
*
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
* \nosubgrouping
*/
class ShowSuggestVisitor :
diff --git a/paludis/stage_builder_task.hh b/paludis/stage_builder_task.hh
index faedf7e..2f801f6 100644
--- a/paludis/stage_builder_task.hh
+++ b/paludis/stage_builder_task.hh
@@ -28,12 +28,23 @@
#include <paludis/util/tr1_memory.hh>
+/** \file
+ * Declarations for StageBuilderTask.
+ *
+ * \ingroup g_tasks
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
* Thrown if a stage build fails.
*
- * \ingroup grpstagebuildertask
+ * \ingroup g_tasks
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE StageBuildError :
@@ -48,14 +59,13 @@ namespace paludis
StageBuildError(const std::string & message) throw ();
};
- #include <paludis/stage_options-sr.hh>
+#include <paludis/stage_options-sr.hh>
/**
* Represents the base class for all stages which can be build by
* StageBuilderTask.
*
- * \ingroup grptask
- * \ingroup grpstagebuildertask
+ * \ingroup g_tasks
* \nosubgrouping
*/
class PALUDIS_VISIBLE StageBase
@@ -79,8 +89,7 @@ namespace paludis
/**
* Task to handle building for of one or more descendants of StageBase.
*
- * \ingroup grptasks
- * \ingroup grpstagehandlertask
+ * \ingroup g_tasks
* \nosubgrouping
*/
class PALUDIS_VISIBLE StageBuilderTask :
diff --git a/paludis/stage_options.sr b/paludis/stage_options.sr
index e00bec1..7d49396 100644
--- a/paludis/stage_options.sr
+++ b/paludis/stage_options.sr
@@ -14,7 +14,7 @@ make_class_StageOptions()
* Represents the options passed to a descendant of StageBase on execution.
*
* \see StageBase
- * \ingroup grpstagehandlertask
+ * \ingroup g_tasks
* \nosubgrouping
*/
END
diff --git a/paludis/sync_task.hh b/paludis/sync_task.hh
index 652c360..66e596c 100644
--- a/paludis/sync_task.hh
+++ b/paludis/sync_task.hh
@@ -25,6 +25,16 @@
#include <paludis/dep_list.hh>
#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
+/** \file
+ * Declarations for SyncTask.
+ *
+ * \ingroup g_tasks
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
class Environment;
@@ -33,7 +43,7 @@ namespace paludis
/**
* Task to handle syncing some or all repositories.
*
- * \ingroup grptasks
+ * \ingroup g_tasks
* \nosubgrouping
*/
class PALUDIS_VISIBLE SyncTask :
diff --git a/paludis/syncer.cc b/paludis/syncer.cc
index 20df58d..52780a4 100644
--- a/paludis/syncer.cc
+++ b/paludis/syncer.cc
@@ -31,12 +31,6 @@
#include <libwrapiter/libwrapiter_output_iterator.hh>
#include <list>
-/** \file
- * Implementation for Syncer classes.
- *
- * \ingroup grpsyncer
- */
-
using namespace paludis;
#include <paludis/syncer-sr.cc>
diff --git a/paludis/syncer.hh b/paludis/syncer.hh
index a3bbfdc..2aa7ce6 100644
--- a/paludis/syncer.hh
+++ b/paludis/syncer.hh
@@ -25,9 +25,14 @@
#include <string>
/** \file
- * Declarations for the Syncer classes.
+ * Declarations for the Syncer class, which can be used by repositories to
+ * simplify syncing.
*
- * \ingroup grpsyncer
+ * \ingroup g_repository
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -38,7 +43,7 @@ namespace paludis
/**
* A Syncer subclass handles syncing Repository instances.
*
- * \ingroup grpsyncer
+ * \ingroup g_repository
*/
class PALUDIS_VISIBLE Syncer :
private InstantiationPolicy<Syncer, instantiation_method::NonCopyableTag>
@@ -68,7 +73,7 @@ namespace paludis
/**
* A Syncer subclass that uses a program from the syncers/ directory.
*
- * \ingroup grpsyncer
+ * \ingroup g_repository
*/
class PALUDIS_VISIBLE DefaultSyncer :
public Syncer
@@ -101,8 +106,8 @@ namespace paludis
/**
* Thrown if a sync fails.
*
- * \ingroup grpsyncer
- * \ingroup grpexceptions
+ * \ingroup g_repository
+ * \ingroup g_exceptions
*/
class PALUDIS_VISIBLE SyncFailedError :
public Exception
@@ -122,8 +127,8 @@ namespace paludis
/**
* Thrown if a syncer of the specified type does not exist.
*
- * \ingroup grpsyncer
- * \ingroup grpexceptions
+ * \ingroup g_repository
+ * \ingroup g_exceptions
*/
class PALUDIS_VISIBLE NoSuchSyncerError : public SyncFailedError
{
diff --git a/paludis/syncer.sr b/paludis/syncer.sr
index ff35689..8b2ed75 100644
--- a/paludis/syncer.sr
+++ b/paludis/syncer.sr
@@ -13,7 +13,7 @@ make_class_SyncOptions()
* Options used by Syncer.
*
* \see Syncer
- * \ingroup grpsyncer
+ * \ingroup g_repository
* \nosubgrouping
*/
END
@@ -33,7 +33,7 @@ make_class_SyncerParams()
* Parameters for a Syncer.
*
* \see Syncer
- * \ingroup grpsyncer
+ * \ingroup g_repository
* \nosubgrouping
*/
END
diff --git a/paludis/tasks_exceptions.hh b/paludis/tasks_exceptions.hh
index e277c04..d63a131 100644
--- a/paludis/tasks_exceptions.hh
+++ b/paludis/tasks_exceptions.hh
@@ -22,12 +22,24 @@
#include <paludis/util/exception.hh>
+/** \file
+ * Declarations for exceptions for tasks.
+ *
+ * \ingroup g_tasks
+ * \ingroup g_exceptions
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
* Thrown if multiple set targets are specified.
*
- * \ingroup grpexceptions
+ * \ingroup g_exceptions
+ * \ingroup g_tasks
*/
class PALUDIS_VISIBLE MultipleSetTargetsSpecified :
public Exception
@@ -39,7 +51,8 @@ namespace paludis
/**
* Thrown if both sets and packages are specified as targets.
*
- * \ingroup grpexceptions
+ * \ingroup g_exceptions
+ * \ingroup g_tasks
*/
class PALUDIS_VISIBLE HadBothPackageAndSetTargets :
public Exception
diff --git a/paludis/uninstall_list.hh b/paludis/uninstall_list.hh
index 09cd517..0e7c30c 100644
--- a/paludis/uninstall_list.hh
+++ b/paludis/uninstall_list.hh
@@ -28,6 +28,16 @@
#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
+/** \file
+ * Declarations for UninstallList and related classes.
+ *
+ * \ingroup g_dep_list
+ *
+ * \section Examples
+ *
+ * - None at this time. Use UninstallTask if you need to uninstall things.
+ */
+
namespace paludis
{
@@ -39,7 +49,7 @@ namespace paludis
/**
* Work out uninstall ordering for packages.
*
- * \ingroup grpuninstalllist
+ * \ingroup g_dep_list
* \nosubgrouping
*/
class PALUDIS_VISIBLE UninstallList :
diff --git a/paludis/uninstall_list.se b/paludis/uninstall_list.se
index b201c6e..2186e31 100644
--- a/paludis/uninstall_list.se
+++ b/paludis/uninstall_list.se
@@ -13,7 +13,7 @@ make_enum_UninstallListEntryKind()
/**
* Kind of an UninstallListEntry.
*
- * \ingroup grpuninstalllist
+ * \ingroup g_dep_list
*/
END
}
diff --git a/paludis/uninstall_list.sr b/paludis/uninstall_list.sr
index 1b20a8f..72dbddd 100644
--- a/paludis/uninstall_list.sr
+++ b/paludis/uninstall_list.sr
@@ -20,7 +20,7 @@ END
* Parameters for an UninstallList.
*
* \see UninstallList
- * \ingroup grpuninstalllist
+ * \ingroup g_dep_list
* \nosubgrouping
*/
END
@@ -41,7 +41,7 @@ make_class_UninstallListEntry()
* An entry in an UninstallList.
*
* \see UninstallList
- * \ingroup grpdepresolver
+ * \ingroup g_dep_list
* \nosubgrouping
*/
END
diff --git a/paludis/uninstall_task.hh b/paludis/uninstall_task.hh
index 75d39a1..9d0c075 100644
--- a/paludis/uninstall_task.hh
+++ b/paludis/uninstall_task.hh
@@ -28,6 +28,16 @@
#include <paludis/util/exception.hh>
#include <libwrapiter/libwrapiter_forward_iterator.hh>
+/** \file
+ * Declarations for UninstallTask.
+ *
+ * \ingroup g_tasks
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
class Environment;
@@ -36,7 +46,8 @@ namespace paludis
/**
* Thrown if an ambiguous unmerge target is supplied.
*
- * \ingroup grpexceptions
+ * \ingroup g_exceptions
+ * \ingroup g_tasks
*/
class PALUDIS_VISIBLE AmbiguousUnmergeTargetError :
public Exception
@@ -74,7 +85,7 @@ namespace paludis
/**
* Task used to uninstall one or more targets.
*
- * \ingroup grptasks
+ * \ingroup g_tasks
* \nosubgrouping
*/
class PALUDIS_VISIBLE UninstallTask :
diff --git a/paludis/unmerger.hh b/paludis/unmerger.hh
index adae363..65eacae 100644
--- a/paludis/unmerger.hh
+++ b/paludis/unmerger.hh
@@ -27,6 +27,17 @@
#include <paludis/util/private_implementation_pattern.hh>
#include <paludis/merger_entry_type.hh>
+/** \file
+ * Declarations for the Unmerger class, which can be used by Repository
+ * to implement from-filesystem unmerging.
+ *
+ * \ingroup g_repository
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
class Hook;
@@ -37,8 +48,8 @@ namespace paludis
/**
* Thrown if an error occurs during an unmerge.
*
- * \ingroup grpunmerger
- * \ingroup grpexceptions
+ * \ingroup g_repository
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE UnmergerError :
@@ -56,7 +67,7 @@ namespace paludis
/**
* Handles unmerging items.
*
- * \ingroup grpunmerger
+ * \ingroup g_repository
* \nosubgrouping
*/
class PALUDIS_VISIBLE Unmerger :
@@ -74,7 +85,7 @@ namespace paludis
* Base class for extra information associated with a file
* to be unmerged.
*
- * \ingroup grpunmerger
+ * \ingroup g_repository
* \nosubgrouping
*/
class PALUDIS_VISIBLE ExtraInfo
diff --git a/paludis/unmerger.sr b/paludis/unmerger.sr
index 9453dea..13c9bad 100644
--- a/paludis/unmerger.sr
+++ b/paludis/unmerger.sr
@@ -15,7 +15,7 @@ make_class_UnmergerOptions()
* Options for a basic Unmerger.
*
* \see Unmerger
- * \ingroup grpmerger
+ * \ingroup g_repository
* \nosubgrouping
*/
END
diff --git a/paludis/util/attributes.hh b/paludis/util/attributes.hh
index a4ad7a5..bbe07d0 100644
--- a/paludis/util/attributes.hh
+++ b/paludis/util/attributes.hh
@@ -21,35 +21,39 @@
#define PALUDIS_GUARD_PALUDIS_ATTRIBUTES_HH 1
/** \file
- * Declare the PALUDIS_ATTRIBUTE macro.
+ * Declare the PALUDIS_ATTRIBUTE macros.
*
- * \ingroup grplibpaludisutil
+ * \ingroup g_utils
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
/** \def PALUDIS_ATTRIBUTE
* If we're using a recent GCC or ICC, expands to __attribute__, otherwise
* discards its arguments.
*
- * \ingroup grplibpaludisutil
+ * \ingroup g_utils
*/
/** \def PALUDIS_CAN_USE_ATTRIBUTE
* Defined if we can rely upon PALUDIS_ATTRIBUTE working (for example, for
* weak).
*
- * \ingroup grplibpaludisutil
+ * \ingroup g_utils
*/
/** \def PALUDIS_VISIBLE
* Marker used to represent 'make visible', if visibility is enabled.
*
- * \ingroup grplibpaludisutil
+ * \ingroup g_utils
*/
/** \def PALUDIS_HIDDEN
* Marker used to represent 'make hidden', if visibility is enabled.
*
- * \ingroup grplibpaludisutil
+ * \ingroup g_utils
*/
#if (defined(__GNUC__) || defined(DOXYGEN))
diff --git a/paludis/util/clone-impl.hh b/paludis/util/clone-impl.hh
index 6dd56a1..b517e1b 100644
--- a/paludis/util/clone-impl.hh
+++ b/paludis/util/clone-impl.hh
@@ -20,6 +20,12 @@
#ifndef PALUDIS_GUARD_PALUDIS_UTIL_CLONE_IMPL_HH
#define PALUDIS_GUARD_PALUDIS_UTIL_CLONE_IMPL_HH 1
+/** \file
+ * Implementation for paludis/clone.hh .
+ *
+ * \ingroup g_oo
+ */
+
namespace paludis
{
template<typename T_>
diff --git a/paludis/util/clone.hh b/paludis/util/clone.hh
index 56d6d7e..85487ea 100644
--- a/paludis/util/clone.hh
+++ b/paludis/util/clone.hh
@@ -26,7 +26,11 @@
/** \file
* Declares the Cloneable class and helpers.
*
- * \ingroup grpclone
+ * \ingroup g_oo
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -34,7 +38,7 @@ namespace paludis
/**
* Base class for objects that can be cloned.
*
- * \ingroup grpclone
+ * \ingroup g_oo
* \nosubgrouping
*/
template <typename T_>
@@ -63,7 +67,7 @@ namespace paludis
* Helper class implementing the clone() method using the copy
* contructor.
*
- * \ingroup grpclone
+ * \ingroup g_oo
* \nosubgrouping
*/
template <typename Base_, typename Child_>
diff --git a/paludis/util/config_file.cc b/paludis/util/config_file.cc
index 56332a3..ba77dde 100644
--- a/paludis/util/config_file.cc
+++ b/paludis/util/config_file.cc
@@ -37,12 +37,6 @@
#include <set>
#include <map>
-/** \file
- * Implementation for config_file.hh classes.
- *
- * \ingroup grpconfigfile
- */
-
using namespace paludis;
#include <paludis/util/config_file-se.cc>
diff --git a/paludis/util/config_file.hh b/paludis/util/config_file.hh
index d554e11..47770c6 100644
--- a/paludis/util/config_file.hh
+++ b/paludis/util/config_file.hh
@@ -35,7 +35,11 @@
/** \file
* Declarations for the ConfigFile classes.
*
- * \ingroup grpconfigfile
+ * \ingroup g_config_file
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -47,8 +51,8 @@ namespace paludis
/**
* Raised if an error is encountered parsing a configuration file.
*
- * \ingroup grpconfigfile
- * \ingroup grpexceptions
+ * \ingroup g_config_file
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE ConfigFileError :
@@ -86,7 +90,7 @@ namespace paludis
* \see KeyValueConfigFile
* \see LineConfigFile
*
- * \ingroup grpconfigfile
+ * \ingroup g_config_file
* \nosubgrouping
*/
class PALUDIS_VISIBLE ConfigFile :
@@ -97,7 +101,7 @@ namespace paludis
* A source (for example, a file or a string) usable by ConfigFile.
*
* \see ConfigFile
- * \ingroup grpconfigfile
+ * \ingroup g_config_file
* \nosubgrouping
*/
class PALUDIS_VISIBLE Source :
@@ -151,7 +155,7 @@ namespace paludis
*
* \see LineConfigFileOption
* \see LineConfigFile
- * \ingroup grplineconfigfile
+ * \ingroup g_config_file
*/
typedef Options<LineConfigFileOption> LineConfigFileOptions;
@@ -165,7 +169,7 @@ namespace paludis
* - Unless lcfo_preserve_whitespace, leading and trailing whitespace is stripped
* - Unless lcfo_no_skip_blank_lines, blank lines are skipped.
*
- * \ingroup grplineconfigfile
+ * \ingroup g_config_file
* \nosubgrouping
*/
class PALUDIS_VISIBLE LineConfigFile :
@@ -227,7 +231,7 @@ namespace paludis
* - Unless kvcfo_disallow_source, source path is legal.
* - Unless kvcfo_preserve_whitespace, leading and trailing whitespace on values is stripped.
*
- * \ingroup grpkvconfigfile
+ * \ingroup g_config_file
* \nosubgrouping
*/
class PALUDIS_VISIBLE KeyValueConfigFile :
@@ -238,7 +242,7 @@ namespace paludis
/**
* A source of default values for a KeyValueConfigFile.
*
- * \ingroup grpkvconfigfile
+ * \ingroup g_config_file
* \see KeyValueConfigFile
* \nosubgrouping
*/
@@ -333,7 +337,7 @@ namespace paludis
/**
* Use another KeyValueConfigFile for defaults.
*
- * \ingroup grpkvconfigfile
+ * \ingroup g_config_file
*/
template<>
KeyValueConfigFile::Defaults::Defaults(tr1::shared_ptr<const KeyValueConfigFile>);
@@ -341,7 +345,7 @@ namespace paludis
/**
* Use a string pair collection for defaults.
*
- * \ingroup grpkvconfigfile
+ * \ingroup g_config_file
*/
template<>
KeyValueConfigFile::Defaults::Defaults(tr1::shared_ptr<const Map<std::string, std::string> >);
@@ -349,7 +353,7 @@ namespace paludis
/**
* Use another KeyValueConfigFile for defaults (non-const).
*
- * \ingroup grpkvconfigfile
+ * \ingroup g_config_file
*/
template<>
KeyValueConfigFile::Defaults::Defaults(tr1::shared_ptr<KeyValueConfigFile>);
@@ -357,7 +361,7 @@ namespace paludis
/**
* Use a string pair collection for defaults (non-const).
*
- * \ingroup grpkvconfigfile
+ * \ingroup g_config_file
*/
template<>
KeyValueConfigFile::Defaults::Defaults(tr1::shared_ptr<Map<std::string, std::string> >);
diff --git a/paludis/util/config_file.se b/paludis/util/config_file.se
index ba08870..e3c3c6f 100644
--- a/paludis/util/config_file.se
+++ b/paludis/util/config_file.se
@@ -16,7 +16,7 @@ make_enum_LineConfigFileOption()
*
* \see LineConfigFile
* \see LineConfigFileOptions
- * \ingroup grplineconfigfile
+ * \ingroup g_config_file
*/
END
}
@@ -43,7 +43,7 @@ make_enum_KeyValueConfigFileOption()
*
* \see KeyValueConfigFile
* \see KeyValueConfigFileOptions
- * \ingroup grpkvconfigfile
+ * \ingroup g_config_file
*/
END
}
diff --git a/paludis/util/destringify.cc b/paludis/util/destringify.cc
index 35364c0..066978d 100644
--- a/paludis/util/destringify.cc
+++ b/paludis/util/destringify.cc
@@ -19,12 +19,6 @@
#include <paludis/util/destringify.hh>
-/** \file
- * Implementation for DestringifyError.
- *
- * \ingroup grpdestringify
- */
-
using namespace paludis;
DestringifyError::DestringifyError(const std::string & str) throw () :
diff --git a/paludis/util/destringify.hh b/paludis/util/destringify.hh
index c864412..f903c31 100644
--- a/paludis/util/destringify.hh
+++ b/paludis/util/destringify.hh
@@ -27,7 +27,11 @@
/** \file
* Destringify functions.
*
- * \ingroup grpdestringify
+ * \ingroup g_strings
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -35,8 +39,8 @@ namespace paludis
/**
* Default exception type thrown by destringify when it fails.
*
- * \ingroup grpdestringify
- * \ingroup grpexceptions
+ * \ingroup g_strings
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE DestringifyError :
@@ -54,14 +58,14 @@ namespace paludis
/**
* For internal use by destringify.
*
- * \ingroup grpdestringify
+ * \ingroup g_strings
*/
namespace destringify_internals
{
/**
* Basic destringifier.
*
- * \ingroup grpdestringify
+ * \ingroup g_strings
*/
template <typename Type_, typename Exception_>
struct Destringifier
@@ -83,7 +87,7 @@ namespace paludis
/**
* Specialised destringify for std::string.
*
- * \ingroup grpdestringify
+ * \ingroup g_strings
*/
template <typename Exception_>
struct Destringifier<std::string, Exception_>
@@ -100,7 +104,7 @@ namespace paludis
/**
* Specialised destringify for bool.
*
- * \ingroup grpdestringify
+ * \ingroup g_strings
*/
template <typename Exception_>
struct Destringifier<bool, Exception_>
@@ -135,7 +139,7 @@ namespace paludis
/**
* Specialised destringify for char.
*
- * \ingroup grpdestringify
+ * \ingroup g_strings
*/
template <typename Exception_>
struct Destringifier<char, Exception_>
@@ -156,7 +160,7 @@ namespace paludis
/**
* Extract a value of some type from a string.
*
- * \ingroup grpdestringify
+ * \ingroup g_strings
*/
template <typename Type_, typename Exception_>
Type_ destringify(const std::string & s)
diff --git a/paludis/util/dir_iterator.cc b/paludis/util/dir_iterator.cc
index 7e6419d..54add86 100644
--- a/paludis/util/dir_iterator.cc
+++ b/paludis/util/dir_iterator.cc
@@ -25,12 +25,6 @@
#include <sys/types.h>
#include <set>
-/** \file
- * Implementation of paludis::DirIterator.
- *
- * \ingroup grpfilesystem
- */
-
using namespace paludis;
namespace paludis
diff --git a/paludis/util/dir_iterator.hh b/paludis/util/dir_iterator.hh
index 96fe771..e98d037 100644
--- a/paludis/util/dir_iterator.hh
+++ b/paludis/util/dir_iterator.hh
@@ -25,9 +25,13 @@
#include <paludis/util/private_implementation_pattern.hh>
/** \file
- * Declarations for paludis::DirIterator.
+ * Declarations for DirIterator.
*
- * \ingroup grpfilesystem
+ * \ingroup g_fs
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -35,8 +39,8 @@ namespace paludis
/**
* Raised when a directory open fails.
*
- * \ingroup grpfilesystem
- * \ingroup grpexceptions
+ * \ingroup g_fs
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE DirOpenError :
@@ -52,13 +56,9 @@ namespace paludis
};
/**
- * An iterator that iterates over the contents of a directory. At present,
- * we read in all the entries at creation time and maintain a CountedPtr
- * to an ordered set of FSEntry instances. This may change at some point,
- * if it turns out that it's quicker to use opendir and seekdir for each
- * instance.
+ * An iterator that iterates over the contents of a directory.
*
- * \ingroup grpfilesystem
+ * \ingroup g_fs
* \nosubgrouping
*/
class PALUDIS_VISIBLE DirIterator :
diff --git a/paludis/util/exception.hh b/paludis/util/exception.hh
index 4d63bba..fc53798 100644
--- a/paludis/util/exception.hh
+++ b/paludis/util/exception.hh
@@ -29,7 +29,11 @@
* Declaration for the Exception base class, the InternalError exception
* class, the NameError class and related utilities.
*
- * \ingroup grpexceptions
+ * \ingroup g_exceptions
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -37,7 +41,7 @@ namespace paludis
/**
* Backtrace context class.
*
- * \ingroup grpexceptions
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE Context
@@ -68,7 +72,7 @@ namespace paludis
/**
* Base exception class.
*
- * \ingroup grpexceptions
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE Exception :
@@ -125,7 +129,7 @@ namespace paludis
* An InternalError is an Exception that is thrown if something that is
* never supposed to happen happens.
*
- * \ingroup grpexceptions
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE InternalError :
@@ -157,7 +161,7 @@ namespace paludis
* not available (for example due to compile time configure options or platform
* limitations) is used.
*
- * \ingroup grpexceptions
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE NotAvailableError :
@@ -174,8 +178,8 @@ namespace paludis
* A NameError is an Exception that is thrown when some kind of invalid
* name is encountered.
*
- * \ingroup grpexceptions
- * \ingroup grpnames
+ * \ingroup g_exceptions
+ * \ingroup g_names
* \nosubgrouping
*/
class PALUDIS_VISIBLE NameError :
@@ -204,7 +208,7 @@ namespace paludis
/**
* A ConfigurationError is thrown when an invalid configuration occurs.
*
- * \ingroup grpexceptions
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE ConfigurationError :
@@ -221,7 +225,7 @@ namespace paludis
* Expands to the current function name, file and line, for use with
* paludis::InternalError.
*
- * \ingroup grpexceptions
+ * \ingroup g_exceptions
*/
#define PALUDIS_HERE (std::string(__PRETTY_FUNCTION__) + " at " + \
std::string(__FILE__) + ":" + paludis::stringify(__LINE__))
diff --git a/paludis/util/fd_output_stream.hh b/paludis/util/fd_output_stream.hh
index fc66dee..820e72b 100644
--- a/paludis/util/fd_output_stream.hh
+++ b/paludis/util/fd_output_stream.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.org>
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -23,6 +23,16 @@
#include <ostream>
#include <unistd.h>
+/** \file
+ * Declarations for FDOutputStreamBuf.
+ *
+ * \ingroup g_fs
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
@@ -31,7 +41,7 @@ namespace paludis
* See \ref TCppSL Ch. 13.13 for what we're doing here. The buffer code is
* based upon the "io/outbuf2.hpp" example in section 13.13.3.
*
- * \ingroup grpfdotputstream
+ * \ingroup g_fs
* \nosubgrouping
*/
class PALUDIS_VISIBLE FDOutputStreamBuf :
@@ -74,7 +84,7 @@ namespace paludis
/**
* Member from base initialisation for FDOutputStream.
*
- * \ingroup grpfdotputstream
+ * \ingroup g_fs
*/
class PALUDIS_VISIBLE FDOutputStreamBase
{
@@ -97,7 +107,7 @@ namespace paludis
/**
* Output stream buffer class that's opened via an FD.
*
- * \ingroup grpfdotputstream
+ * \ingroup g_fs
*/
class PALUDIS_VISIBLE FDOutputStream :
protected FDOutputStreamBase,
diff --git a/paludis/util/fs_entry-fwd.hh b/paludis/util/fs_entry-fwd.hh
index d174991..9579a33 100644
--- a/paludis/util/fs_entry-fwd.hh
+++ b/paludis/util/fs_entry-fwd.hh
@@ -26,6 +26,12 @@
#include <paludis/util/set-fwd.hh>
#include <paludis/util/sequence-fwd.hh>
+/** \file
+ * Forward declarations for paludis/util/fs_entry.hh .
+ *
+ * \ingroup g_fs
+ */
+
namespace paludis
{
class FSError;
@@ -33,7 +39,7 @@ namespace paludis
/**
* File permissions used by FSEntry.
*
- * \ingroup grpfilesystem
+ * \ingroup g_fs
*/
enum FSPermission
{
@@ -45,7 +51,7 @@ namespace paludis
/**
* User classes used by FSEntry.
*
- * \ingroup grpfilesystem
+ * \ingroup g_fs
*/
enum FSUserGroup
{
@@ -59,21 +65,21 @@ namespace paludis
/**
* An FSEntry can be written to an ostream.
*
- * \ingroup grpfilesystem
+ * \ingroup g_fs
*/
std::ostream & operator<< (std::ostream & s, const FSEntry & f) PALUDIS_VISIBLE;
/**
* A sequence of FSEntry instances.
*
- * \ingroup grpfilesystem
+ * \ingroup g_fs
*/
typedef Sequence<FSEntry> FSEntrySequence;
/**
* A set of FSEntry instances.
*
- * \ingroup grpfilesystem
+ * \ingroup g_fs
*/
typedef Set<FSEntry> FSEntrySet;
}
diff --git a/paludis/util/fs_entry.hh b/paludis/util/fs_entry.hh
index 4720c08..efd9aec 100644
--- a/paludis/util/fs_entry.hh
+++ b/paludis/util/fs_entry.hh
@@ -30,9 +30,13 @@
#include <paludis/util/tr1_memory.hh>
/** \file
- * Declarations for paludis::Filesystem.
+ * Declarations for FSEntry.
*
- * \ingroup grpfilesystem
+ * \ingroup g_fs
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
struct stat;
@@ -42,8 +46,8 @@ namespace paludis
/**
* Generic filesystem error class.
*
- * \ingroup grpexceptions
- * \ingroup grpfilesystem
+ * \ingroup g_exceptions
+ * \ingroup g_fs
* \nosubgrouping
*/
class PALUDIS_VISIBLE FSError :
@@ -61,7 +65,7 @@ namespace paludis
/**
* Represents an entry (which may or may not exist) in the filesystem.
*
- * \ingroup grpfilesystem
+ * \ingroup g_fs
*/
class PALUDIS_VISIBLE FSEntry :
public relational_operators::HasRelationalOperators,
@@ -346,8 +350,6 @@ namespace paludis
///\}
};
-
- std::ostream & operator<< (std::ostream & s, const FSEntry & f) PALUDIS_VISIBLE;
}
#endif
diff --git a/paludis/util/graph-fwd.hh b/paludis/util/graph-fwd.hh
index e1ecac0..825f08e 100644
--- a/paludis/util/graph-fwd.hh
+++ b/paludis/util/graph-fwd.hh
@@ -20,6 +20,12 @@
#ifndef PALUDIS_GUARD_PALUDIS_UTIL_GRAPH_FWD_HH
#define PALUDIS_GUARD_PALUDIS_UTIL_GRAPH_FWD_HH 1
+/** \file
+ * Forward declarations for paludis/util/graph.hh .
+ *
+ * \ingroup g_data_structures
+ */
+
namespace paludis
{
class GraphError;
diff --git a/paludis/util/graph-impl.hh b/paludis/util/graph-impl.hh
index d38b7c0..18b80cd 100644
--- a/paludis/util/graph-impl.hh
+++ b/paludis/util/graph-impl.hh
@@ -27,14 +27,20 @@
#include <set>
#include <list>
+/** \file
+ * Implementation for paludis/util/graph.hh .
+ *
+ * \ingroup g_data_structures
+ */
+
namespace paludis
{
/**
* Holds the remaining nodes list for a NoGraphTopologicalOrderExistsError.
*
* \see NoGraphTopologicalOrderExistsError
- * \ingroup grpexceptions
- * \ingroup grpgraph
+ * \ingroup g_exceptions
+ * \ingroup g_data_structures
* \nosubgrouping
*/
class PALUDIS_VISIBLE NoGraphTopologicalOrderExistsError::RemainingNodes
@@ -73,7 +79,7 @@ namespace paludis
* Implementation data for a DirectedGraph.
*
* \see DirectedGraph
- * \ingroup grpgraph
+ * \ingroup g_data_structures
* \nosubgrouping
*/
template<>
@@ -141,7 +147,7 @@ namespace paludis
* Iterate over the nodes in a DirectedGraph.
*
* \see DirectedGraph
- * \ingroup grpgraph
+ * \ingroup g_data_structures
* \nosubgrouping
*/
template <typename Node_, typename Edge_>
diff --git a/paludis/util/graph.hh b/paludis/util/graph.hh
index ce7f44c..b6dbfa4 100644
--- a/paludis/util/graph.hh
+++ b/paludis/util/graph.hh
@@ -29,7 +29,11 @@
/** \file
* Declarations for DirectedGraph and related utilities.
*
- * \ingroup grpgraph
+ * \ingroup g_data_structures
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -37,8 +41,8 @@ namespace paludis
/**
* Base class for DirectedGraph errors.
*
- * \ingroup grpgraph
- * \ingroup grpexceptions
+ * \ingroup g_data_structures
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE GraphError :
@@ -56,8 +60,8 @@ namespace paludis
/**
* Thrown if a DirectedGraph operation relies upon a node being present when it is not.
*
- * \ingroup grpexceptions
- * \ingroup grpgraph
+ * \ingroup g_exceptions
+ * \ingroup g_data_structures
* \nosubgrouping
*/
class PALUDIS_VISIBLE NoSuchGraphNodeError :
@@ -79,8 +83,8 @@ namespace paludis
/**
* Thrown if a DirectedGraph operation relies upon an edge being present when it is not.
*
- * \ingroup grpgraph
- * \ingroup grpexceptions
+ * \ingroup g_exceptions
+ * \ingroup g_data_structures
* \nosubgrouping
*/
class PALUDIS_VISIBLE NoSuchGraphEdgeError :
@@ -102,8 +106,8 @@ namespace paludis
/**
* Thrown if no ordering is available for a DirectedGraph::topological_sort.
*
- * \ingroup grpgraph
- * \ingroup grpexceptions
+ * \ingroup g_data_structures
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE NoGraphTopologicalOrderExistsError :
@@ -131,7 +135,7 @@ namespace paludis
/**
* A simple directed graph.
*
- * \ingroup grpgraph
+ * \ingroup g_data_structures
* \nosubgrouping
*/
template <typename Node_, typename Edge_>
diff --git a/paludis/util/instantiation_policy-impl.hh b/paludis/util/instantiation_policy-impl.hh
index fc682a2..1afdc1af 100644
--- a/paludis/util/instantiation_policy-impl.hh
+++ b/paludis/util/instantiation_policy-impl.hh
@@ -26,6 +26,12 @@
#include <paludis/util/stringify.hh>
#include <paludis/util/mutex.hh>
+/** \file
+ * Implementation for paludis/util/instantiation_policy.hh .
+ *
+ * \ingroup g_oo
+ */
+
template <typename OurType_>
void
paludis::InstantiationPolicy<OurType_, paludis::instantiation_method::SingletonTag>::_delete(OurType_ * const p)
diff --git a/paludis/util/instantiation_policy.hh b/paludis/util/instantiation_policy.hh
index f402932..f997c26 100644
--- a/paludis/util/instantiation_policy.hh
+++ b/paludis/util/instantiation_policy.hh
@@ -25,7 +25,11 @@
/** \file
* InstantiationPolicy patterns.
*
- * \ingroup grpinstance
+ * \ingroup g_oo
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -33,28 +37,28 @@ namespace paludis
/**
* Instantiation policies for paludis::InstantiationPolicy.
*
- * \ingroup grpinstance
+ * \ingroup g_oo
*/
namespace instantiation_method
{
/**
* Cannot be copied or assigned to.
*
- * \ingroup grpinstance
+ * \ingroup g_oo
*/
struct NonCopyableTag;
/**
* Cannot be instantiated
*
- * \ingroup grpinstance
+ * \ingroup g_oo
*/
struct NonInstantiableTag;
/**
* Single instance.
*
- * \ingroup grpinstance
+ * \ingroup g_oo
*/
struct SingletonTag;
}
@@ -63,7 +67,7 @@ namespace paludis
* InstantiationPolicy is used to specify behaviour of classes that have
* something other than the default C++ instantiation behaviour.
*
- * \ingroup grpinstance
+ * \ingroup g_oo
*/
template <typename OurType_, typename InstantiationMethodTag_>
struct InstantiationPolicy;
@@ -72,7 +76,7 @@ namespace paludis
* InstantiationPolicy: specialisation for classes that cannot be copied
* or assigned to.
*
- * \ingroup grpinstance
+ * \ingroup g_oo
* \nosubgrouping
*/
template<typename OurType_>
@@ -91,7 +95,7 @@ namespace paludis
/**
* InstantiationPolicy: specialisation for classes that cannot be created.
*
- * \ingroup grpinstance
+ * \ingroup g_oo
* \nosubgrouping
*/
template<typename OurType_>
@@ -107,7 +111,7 @@ namespace paludis
* InstantiationPolicy: specialisation for singleton classes that are
* created as needed.
*
- * \ingroup grpinstance
+ * \ingroup g_oo
* \nosubgrouping
*/
template<typename OurType_>
diff --git a/paludis/util/is_file_with_extension.hh b/paludis/util/is_file_with_extension.hh
index a6ffd6d..d38647b 100644
--- a/paludis/util/is_file_with_extension.hh
+++ b/paludis/util/is_file_with_extension.hh
@@ -26,9 +26,13 @@
#include <string>
/** \file
- * Declarations for the IsFileWithExtension class.
+ * Declarations for the is_file_with_extension function.
*
- * \ingroup grpfilesystem
+ * \ingroup g_fs
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -42,7 +46,7 @@ namespace paludis
* \see IsFileWithOption
* \see is_file_with_prefix_extension
* \see is_file_with_extension
- * \ingroup grpfilesystem
+ * \ingroup g_fs
*/
typedef Options<IsFileWithOption> IsFileWithOptions;
@@ -51,7 +55,7 @@ namespace paludis
*
* \see is_file_with_prefix_extension()
*
- * \ingroup grpfilesystem
+ * \ingroup g_fs
*/
bool is_file_with_extension(const FSEntry &, const std::string &, const IsFileWithOptions &) PALUDIS_VISIBLE;
@@ -61,7 +65,7 @@ namespace paludis
*
* \see is_file_with_extension()
*
- * \ingroup grpfilesystem
+ * \ingroup g_fs
*/
bool is_file_with_prefix_extension(const FSEntry &, const std::string &, const std::string &, const IsFileWithOptions &) PALUDIS_VISIBLE;
@@ -70,7 +74,7 @@ namespace paludis
* FSEntry instance is a file with a given extension and (optionally) a
* given filename prefix.
*
- * \ingroup grpfilesystem
+ * \ingroup g_fs
* \deprecated Use is_file_with_extension and tr1::bind.
*/
#ifdef DOXYGEN
diff --git a/paludis/util/is_file_with_extension.se b/paludis/util/is_file_with_extension.se
index 6b22118..31f59b1 100644
--- a/paludis/util/is_file_with_extension.se
+++ b/paludis/util/is_file_with_extension.se
@@ -14,7 +14,7 @@ make_enum_IsFileWithOption()
* \see IsFileWithOptions
* \see is_file_with_extension()
* \see is_file_with_prefix_extension()
- * \ingroup grpfilesystem
+ * \ingroup g_fs
*/
END
}
diff --git a/paludis/util/iterator.hh b/paludis/util/iterator.hh
index 4aec97f..332d7b0 100644
--- a/paludis/util/iterator.hh
+++ b/paludis/util/iterator.hh
@@ -31,7 +31,11 @@
/** \file
* Declarations for various iterator helpers.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -39,7 +43,7 @@ namespace paludis
/**
* Return a new iterator pointing to the item after i.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
*/
template <typename T_>
T_ next(const T_ & i)
@@ -51,7 +55,7 @@ namespace paludis
/**
* Return a new iterator advanced by a distance of n.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
*/
template <typename T_>
T_ next(const T_ & i, const int & n)
@@ -64,7 +68,7 @@ namespace paludis
/**
* Return a new iterator pointing to the item before i.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
*/
template <typename T_>
T_ previous(const T_ & i)
@@ -76,7 +80,7 @@ namespace paludis
/**
* Like tr1::remove_pointer, for tr1::shared_ptr.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
*/
template <typename T_>
struct RemoveSharedPointer
@@ -88,7 +92,7 @@ namespace paludis
/**
* Like tr1::remove_pointer, for tr1::shared_ptr.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
*/
template <typename T_>
struct RemoveSharedPointer<tr1::shared_ptr<T_> >
@@ -100,7 +104,7 @@ namespace paludis
/**
* Like tr1::remove_pointer, for tr1::shared_ptr.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
*/
template <typename T_>
struct RemoveSharedPointer<const tr1::shared_ptr<T_> >
@@ -117,7 +121,7 @@ namespace paludis
* An IndirectIterator is an iterator adapter that does one additional level
* of dereferencing.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
* \nosubgrouping
*/
template <typename Iter_, typename Value_>
@@ -205,7 +209,7 @@ namespace paludis
/**
* Convenience constructor for an IndirectIterator.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
*/
template <typename Iter_>
IndirectIterator<Iter_,
@@ -221,7 +225,7 @@ namespace paludis
* if a particular predicate function returns true for the object to be
* inserted.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
* \nosubgrouping
*/
template <typename Iter_, typename Pred_>
@@ -304,7 +308,7 @@ namespace paludis
/**
* Convenience function: make a FilterInsertIterator.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
*/
template <typename Iter_, typename Pred_>
FilterInsertIterator<Iter_, Pred_> filter_inserter(
@@ -317,7 +321,7 @@ namespace paludis
* A TransformInsertIterator is an insert iterator that calls some function
* upon an item before inserting it.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
* \nosubgrouping
*/
template <typename Iter_, typename Trans_>
@@ -397,7 +401,7 @@ namespace paludis
/**
* Convenience function: make a TransformInsertIterator.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
*/
template <typename Iter_, typename Trans_>
TransformInsertIterator<Iter_, Trans_> transform_inserter(
@@ -410,7 +414,7 @@ namespace paludis
* A CreateInsertIterator is an insert iterator that creates an object of
* the specified type using the provided value.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
* \nosubgrouping
*/
template <typename Iter_, typename Type_>
@@ -487,7 +491,7 @@ namespace paludis
/**
* Convenience function: make a CreateInsertIterator.
*
- * \ingroup grpiterators
+ * \ingroup g_iterator
*/
template <typename Type_, typename Iter_>
CreateInsertIterator<Iter_, Type_> create_inserter(const Iter_ & i)
diff --git a/paludis/util/join.hh b/paludis/util/join.hh
index a2a399c..8a2befb 100644
--- a/paludis/util/join.hh
+++ b/paludis/util/join.hh
@@ -27,7 +27,11 @@
/** \file
* Declarations for the join function.
*
- * \ingroup grpjoin
+ * \ingroup g_strings
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -35,7 +39,7 @@ namespace paludis
/**
* Join together the items from i to end using joiner.
*
- * \ingroup grpjoin
+ * \ingroup g_strings
*/
template <typename I_, typename T_>
T_ join(I_ i, I_ end, const T_ & joiner)
@@ -56,7 +60,7 @@ namespace paludis
* Join together the items from i to end using joiner, using
* a function other than stringify.
*
- * \ingroup grpjoin
+ * \ingroup g_strings
*/
template <typename I_, typename T_, typename F_>
T_ join(I_ i, I_ end, const T_ & joiner, const F_ & f)
@@ -77,7 +81,7 @@ namespace paludis
* Convenience alternative join allowing a char * to be used for a
* string.
*
- * \ingroup grpjoin
+ * \ingroup g_strings
*/
template <typename I_>
std::string join(I_ begin, const I_ end, const char * const t)
@@ -89,7 +93,7 @@ namespace paludis
* Convenience alternative join allowing a char * to be used for a
* string, using a function other than stringify.
*
- * \ingroup grpjoin
+ * \ingroup g_strings
*/
template <typename I_, typename F_>
std::string join(I_ begin, const I_ end, const char * const t, const F_ & f)
diff --git a/paludis/util/log.cc b/paludis/util/log.cc
index dccb2fc..f35fcc3 100644
--- a/paludis/util/log.cc
+++ b/paludis/util/log.cc
@@ -35,12 +35,6 @@
# endif
#endif
-/** \file
- * Implementation for Log.
- *
- * \ingroup grplog
- */
-
using namespace paludis;
#include <paludis/util/log-se.cc>
@@ -49,11 +43,6 @@ template class InstantiationPolicy<Log, instantiation_method::SingletonTag>;
namespace paludis
{
- /**
- * Implementation data for Log.
- *
- * \ingroup grplog
- */
template<>
struct Implementation<Log>
{
diff --git a/paludis/util/log.hh b/paludis/util/log.hh
index 3a53309..988310b 100644
--- a/paludis/util/log.hh
+++ b/paludis/util/log.hh
@@ -28,7 +28,11 @@
/** \file
* Declarations for Log and related classes.
*
- * \ingroup grplog
+ * \ingroup g_log
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -43,7 +47,7 @@ namespace paludis
* When modifying this, you will probably also want to take a look at
* ebuild/echo_functions.bash and the command_line source files.
*
- * \ingroup grplog
+ * \ingroup g_log
*/
enum LogLevel
{
@@ -62,7 +66,7 @@ namespace paludis
/**
* Singleton class that handles log messages.
*
- * \ingroup grplog
+ * \ingroup g_log
*/
class PALUDIS_VISIBLE Log :
public InstantiationPolicy<Log, instantiation_method::SingletonTag>,
@@ -128,7 +132,7 @@ namespace paludis
* Used by Log::message().
*
* \see Log
- * \ingroup grplog
+ * \ingroup g_log
*/
class PALUDIS_VISIBLE LogMessageHandler
{
@@ -169,7 +173,7 @@ namespace paludis
/**
* Stringify a LogLevel constant.
*
- * \ingroup grplog
+ * \ingroup g_log
*/
std::ostream &
operator<< (std::ostream &, const LogLevel &) PALUDIS_VISIBLE;
diff --git a/paludis/util/log.se b/paludis/util/log.se
index ea0c869..d43a106 100644
--- a/paludis/util/log.se
+++ b/paludis/util/log.se
@@ -12,7 +12,7 @@ make_enum_LogContext()
/**
* Specifies whether a log message has context.
*
- * \ingroup grplog
+ * \ingroup g_log
*/
END
}
diff --git a/paludis/util/make_shared_ptr-fwd.hh b/paludis/util/make_shared_ptr-fwd.hh
index 5b1921b..ddbe174 100644
--- a/paludis/util/make_shared_ptr-fwd.hh
+++ b/paludis/util/make_shared_ptr-fwd.hh
@@ -22,6 +22,12 @@
#include <paludis/util/attributes.hh>
+/** \file
+ * Forward declarations for paludis/make_shared_ptr.hh .
+ *
+ * \ingroup g_utils
+ */
+
namespace paludis
{
namespace tr1
@@ -30,6 +36,16 @@ namespace paludis
class shared_ptr;
}
+ /**
+ * Convenience function for creating a tr1::shared_ptr<> from a newly
+ * constructed object.
+ *
+ * Use this only with <code>new T_(whatever)</code> as the parameter. Do not
+ * use it to try to create a tr1::shared_ptr<> from something that is not
+ * newly allocated.
+ *
+ * \ingroup g_utils
+ */
template <typename T_>
tr1::shared_ptr<T_>
make_shared_ptr(T_ * const t) PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/util/make_shared_ptr.hh b/paludis/util/make_shared_ptr.hh
index 777dea8..26609af 100644
--- a/paludis/util/make_shared_ptr.hh
+++ b/paludis/util/make_shared_ptr.hh
@@ -23,6 +23,16 @@
#include <paludis/util/tr1_memory.hh>
#include <paludis/util/make_shared_ptr-fwd.hh>
+/** \file
+ * Declarations for the make_shared_ptr function.
+ *
+ * \ingroup g_utils
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
template <typename T_>
diff --git a/paludis/util/map-fwd.hh b/paludis/util/map-fwd.hh
index 820eec1..26ea8d3 100644
--- a/paludis/util/map-fwd.hh
+++ b/paludis/util/map-fwd.hh
@@ -20,6 +20,11 @@
#ifndef PALUDIS_GUARD_PALUDIS_UTIL_MAP_FWD_HH
#define PALUDIS_GUARD_PALUDIS_UTIL_MAP_FWD_HH 1
+/** \file
+ * Forward declarations for paludis/util/map.hh .
+ *
+ * \ingroup g_data_structures
+ */
namespace paludis
{
diff --git a/paludis/util/map-impl.hh b/paludis/util/map-impl.hh
index 00fdee1..00b5767 100644
--- a/paludis/util/map-impl.hh
+++ b/paludis/util/map-impl.hh
@@ -28,6 +28,12 @@
#include <iterator>
#include <functional>
+/** \file
+ * Implementation for paludis/util/map.hh .
+ *
+ * \ingroup g_data_structures
+ */
+
namespace paludis
{
template <typename T_>
diff --git a/paludis/util/map.hh b/paludis/util/map.hh
index 1681a9b..cf4f72c 100644
--- a/paludis/util/map.hh
+++ b/paludis/util/map.hh
@@ -30,8 +30,26 @@
#include <utility>
+/** \file
+ * Declarations for the Map<> class.
+ *
+ * \ingroup g_data_structures
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
+ /**
+ * A wrapper around a map, avoiding the need to include lots of STL bloat
+ * everywhere.
+ *
+ * \ingroup g_data_structures
+ * \since 0.26
+ * \nosubgrouping
+ */
template <typename K_, typename V_, typename C_>
class PALUDIS_VISIBLE Map :
private PrivateImplementationPattern<Map<K_, V_, C_> >,
@@ -41,9 +59,17 @@ namespace paludis
using PrivateImplementationPattern<Map<K_, V_, C_> >::_imp;
public:
+ ///\name Basic operations
+ ///\{
+
Map();
~Map();
+ ///\}
+
+ ///\name Iteration
+ ///\{
+
typedef libwrapiter::ForwardIterator<Map<K_, V_, C_>, const std::pair<const K_, V_> > ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -52,12 +78,24 @@ namespace paludis
typedef libwrapiter::OutputIterator<Map<K_, V_, C_>, std::pair<const K_, V_> > Inserter;
Inserter inserter() PALUDIS_ATTRIBUTE((warn_unused_result));
+ ///\}
+
+ ///\name Content information
+ ///\{
+
bool empty() const PALUDIS_ATTRIBUTE((warn_unused_result));
unsigned size() const PALUDIS_ATTRIBUTE((warn_unused_result));
+ ///\}
+
+ ///\name Content modification
+ ///\{
+
void insert(const K_ &, const V_ &);
void erase(const ConstIterator &);
void erase(const K_ &);
+
+ ///\}
};
}
diff --git a/paludis/util/no_type.hh b/paludis/util/no_type.hh
index d94856f..bd6de58 100644
--- a/paludis/util/no_type.hh
+++ b/paludis/util/no_type.hh
@@ -20,8 +20,25 @@
#ifndef PALUDIS_GUARD_PALUDIS_UTIL_NO_TYPE_HH
#define PALUDIS_GUARD_PALUDIS_UTIL_NO_TYPE_HH 1
+/** \file
+ * Declarations for the NoType<> class.
+ *
+ * \ingroup g_utils
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
+ /**
+ * Dummy class with no real meaning, used for template voodoo in various
+ * places.
+ *
+ * \ingroup g_utils
+ * \since 0.26
+ */
template <unsigned u_>
class NoType;
}
diff --git a/paludis/util/operators.hh b/paludis/util/operators.hh
index 9037c6a..4a464a2 100644
--- a/paludis/util/operators.hh
+++ b/paludis/util/operators.hh
@@ -22,13 +22,23 @@
#include <paludis/util/attributes.hh>
+/**
+ * Various classes that simplify implementing operators for classes.
+ *
+ * \ingroup g_oo
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
* Classes with a base in this namespace define comparison operators via
* operator==.
*
- * \ingroup grpoperators
+ * \ingroup g_oo
*/
namespace equality_operators
{
@@ -36,7 +46,7 @@ namespace paludis
* Classes inheriting this define relational operators via
* operator==.
*
- * \ingroup grpoperators
+ * \ingroup g_oo
*/
struct HasEqualityOperators
{
@@ -69,7 +79,7 @@ namespace paludis
* Classes with a base in this namespace define comparison operators via
* operator< and operator==.
*
- * \ingroup grpoperators
+ * \ingroup g_oo
*/
namespace relational_operators
{
@@ -77,7 +87,7 @@ namespace paludis
* Classes inheriting this define relational operators via
* operator< and operator==.
*
- * \ingroup grpoperators
+ * \ingroup g_oo
*/
struct HasRelationalOperators :
public equality_operators::HasEqualityOperators
@@ -137,7 +147,7 @@ namespace paludis
* Classes with a base in this namespace define arithmetic operators via
* operator+= etc.
*
- * \ingroup grpoperators
+ * \ingroup g_oo
*/
namespace arithmetic_operators
{
@@ -145,7 +155,7 @@ namespace paludis
* Classes inheriting this define arithmetic operators via
* via operator+= etc.
*
- * \ingroup grpoperators
+ * \ingroup g_oo
*/
struct HasArithmeticOperators
{
diff --git a/paludis/util/options-fwd.hh b/paludis/util/options-fwd.hh
index 84ecb86..557e152 100644
--- a/paludis/util/options-fwd.hh
+++ b/paludis/util/options-fwd.hh
@@ -20,6 +20,12 @@
#ifndef PALUDIS_GUARD_PALUDIS_UTIL_OPTIONS_FWD_HH
#define PALUDIS_GUARD_PALUDIS_UTIL_OPTIONS_FWD_HH 1
+/** \file
+ * Forward declarations for paludis/util/options.hh .
+ *
+ * \ingroup g_data_structures
+ */
+
namespace paludis
{
class OptionsStore;
diff --git a/paludis/util/options.hh b/paludis/util/options.hh
index 54b8d16..6881c48 100644
--- a/paludis/util/options.hh
+++ b/paludis/util/options.hh
@@ -23,6 +23,16 @@
#include <paludis/util/options-fwd.hh>
#include <paludis/util/private_implementation_pattern.hh>
+/** \file
+ * Declarations for the Options<> class.
+ *
+ * \ingroup g_data_structures
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
@@ -32,7 +42,7 @@ namespace paludis
* underlying size.
*
* \see Options<>
- * \ingroup grpoptions
+ * \ingroup g_data_structures
*/
class PALUDIS_VISIBLE OptionsStore :
private PrivateImplementationPattern<OptionsStore>
@@ -93,7 +103,7 @@ namespace paludis
* Holds a series of true/false values mapped on an enum type, like a
* std::bitset<> without the static size requirement.
*
- * \ingroup grpoptions
+ * \ingroup g_data_structures
*/
template <typename E_>
class Options
diff --git a/paludis/util/pipe.hh b/paludis/util/pipe.hh
index 996b80e..15652de 100644
--- a/paludis/util/pipe.hh
+++ b/paludis/util/pipe.hh
@@ -25,7 +25,11 @@
/** \file
* Declaration for the Pipe class.
*
- * \ingroup grppipe
+ * \ingroup g_system
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -33,7 +37,7 @@ namespace paludis
/**
* Wrapper around pipe file descriptors.
*
- * \ingroup grppipe
+ * \ingroup g_system
* \nosubgrouping
*/
class PALUDIS_VISIBLE Pipe :
diff --git a/paludis/util/private_implementation_pattern-impl.hh b/paludis/util/private_implementation_pattern-impl.hh
index a16223d..8836e55 100644
--- a/paludis/util/private_implementation_pattern-impl.hh
+++ b/paludis/util/private_implementation_pattern-impl.hh
@@ -22,6 +22,12 @@
#include <paludis/util/private_implementation_pattern.hh>
+/** \file
+ * Implementation for paludis/util/private_implementation_pattern.hh .
+ *
+ * \ingroup g_oo
+ */
+
template <typename C_>
paludis::PrivateImplementationPattern<C_>::ImpPtr::ImpPtr(Implementation<C_> * p) :
_ptr(p)
diff --git a/paludis/util/private_implementation_pattern.hh b/paludis/util/private_implementation_pattern.hh
index 42f1a50..b73f463 100644
--- a/paludis/util/private_implementation_pattern.hh
+++ b/paludis/util/private_implementation_pattern.hh
@@ -25,7 +25,11 @@
/** \file
* Declarations for the PrivateImplementationPattern pattern.
*
- * \ingroup grppimp
+ * \ingroup g_oo
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -34,7 +38,7 @@ namespace paludis
* Private implementation data, to be specialised for any class that
* uses PrivateImplementationPattern.
*
- * \ingroup grppimp
+ * \ingroup g_oo
*/
template <typename C_>
struct Implementation;
@@ -43,7 +47,7 @@ namespace paludis
* A class descended from PrivateImplementationPattern has an associated
* Implementation instance.
*
- * \ingroup grppimp
+ * \ingroup g_oo
*/
template <typename C_>
class PrivateImplementationPattern :
@@ -54,7 +58,7 @@ namespace paludis
* Smart pointer to our implementation.
*
* \see PrivateImplementationPattern
- * \ingroup grppimp
+ * \ingroup g_oo
*/
class ImpPtr
{
diff --git a/paludis/util/pstream.cc b/paludis/util/pstream.cc
index 844c154..d5d87ef 100644
--- a/paludis/util/pstream.cc
+++ b/paludis/util/pstream.cc
@@ -31,12 +31,6 @@
#include <unistd.h>
#include <grp.h>
-/** \file
- * Implementation for PStream.
- *
- * \ingroup grpsystem
- */
-
using namespace paludis;
PStreamError::PStreamError(const std::string & our_message) throw () :
diff --git a/paludis/util/pstream.hh b/paludis/util/pstream.hh
index be42e05..393cbcb 100644
--- a/paludis/util/pstream.hh
+++ b/paludis/util/pstream.hh
@@ -34,7 +34,11 @@
* Declarations for the PStream and PStreamInBuf classes, and related
* utilities.
*
- * \ingroup grpsystem
+ * \ingroup g_system
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -42,8 +46,8 @@ namespace paludis
/**
* Thrown if a PStream or PStreamInBuf encounters an error.
*
- * \ingroup grpsystem
- * \ingroup grpexceptions
+ * \ingroup g_system
+ * \ingroup g_exceptions
* \nosubgrouping
*/
class PALUDIS_VISIBLE PStreamError :
@@ -67,7 +71,7 @@ namespace paludis
* See \ref TCppSL Ch. 13.13 for what we're doing here. The buffer code is
* based upon the "io/inbuf1.hpp" example in section 13.13.3.
*
- * \ingroup grpsystem
+ * \ingroup g_system
* \nosubgrouping
*/
class PALUDIS_VISIBLE PStreamInBuf :
@@ -141,14 +145,14 @@ namespace paludis
/**
* For internal use by PStream classes.
*
- * \ingroup grpsystem
+ * \ingroup g_system
*/
namespace pstream_internals
{
/**
* Avoid base from member issues for PStream.
*
- * \ingroup grpsystem
+ * \ingroup g_system
*/
struct PALUDIS_VISIBLE PStreamInBufBase :
private paludis::InstantiationPolicy<PStreamInBufBase, instantiation_method::NonCopyableTag>
@@ -172,7 +176,7 @@ namespace paludis
* A PStream class is a standard input stream class whose contents comes
* from the output of an executed command.
*
- * \ingroup grpsystem
+ * \ingroup g_system
* \nosubgrouping
*/
class PALUDIS_VISIBLE PStream :
diff --git a/paludis/util/random.cc b/paludis/util/random.cc
index 5fbb8b0..036db72 100644
--- a/paludis/util/random.cc
+++ b/paludis/util/random.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.org>
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -20,12 +20,6 @@
#include "random.hh"
#include <time.h>
-/** \file
- * Implementation for random.hh.
- *
- * \ingroup grprandom
- */
-
using namespace paludis;
uint32_t Random::global_seed(0xdeadbeef ^ ::time(0));
diff --git a/paludis/util/random.hh b/paludis/util/random.hh
index f73cbf2..cae07c6 100644
--- a/paludis/util/random.hh
+++ b/paludis/util/random.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.org>
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -24,6 +24,16 @@
#include <inttypes.h>
#include <paludis/util/attributes.hh>
+/** \file
+ * Declarations for the Random class.
+ *
+ * \ingroup g_utils
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
@@ -33,7 +43,7 @@ namespace paludis
* See \ref TCppPL 22.7 for justification. See \ref TaoCP2 3.2.1 for the
* basic algorithm and \ref AppCrypt 16.1 for the choice of numbers.
*
- * \ingroup grprandom
+ * \ingroup g_utils
* \nosubgrouping
*/
class PALUDIS_VISIBLE Random
diff --git a/paludis/util/save.hh b/paludis/util/save.hh
index 1ee5679..956b79b 100644
--- a/paludis/util/save.hh
+++ b/paludis/util/save.hh
@@ -23,7 +23,11 @@
/** \file
* Declarations for the Save class.
*
- * \ingroup grpsave
+ * \ingroup g_utils
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -33,7 +37,7 @@ namespace paludis
* duration of the Save instance's lifetime (RAII, see \ref EffCpp item 13 or
* \ref TCppPL section 14.4).
*
- * \ingroup grpsave
+ * \ingroup g_utils
* \nosubgrouping
*/
template <typename T_>
diff --git a/paludis/util/sequence-fwd.hh b/paludis/util/sequence-fwd.hh
index 401e75a..3f0308a 100644
--- a/paludis/util/sequence-fwd.hh
+++ b/paludis/util/sequence-fwd.hh
@@ -20,6 +20,12 @@
#ifndef PALUDIS_GUARD_PALUDIS_UTIL_SEQUENCE_FWD_HH
#define PALUDIS_GUARD_PALUDIS_UTIL_SEQUENCE_FWD_HH 1
+/** \file
+ * Forward declarations for paludis/util/sequence.hh .
+ *
+ * \ingroup g_data_structures
+ */
+
namespace paludis
{
template <typename T_>
diff --git a/paludis/util/sequence-impl.hh b/paludis/util/sequence-impl.hh
index d89bbee..98f5da0 100644
--- a/paludis/util/sequence-impl.hh
+++ b/paludis/util/sequence-impl.hh
@@ -27,6 +27,12 @@
#include <list>
#include <iterator>
+/** \file
+ * Implementation for paludis/util/sequence.hh .
+ *
+ * \ingroup g_data_structures
+ */
+
namespace paludis
{
template <>
diff --git a/paludis/util/sequence.hh b/paludis/util/sequence.hh
index 33bf086..19d30f9 100644
--- a/paludis/util/sequence.hh
+++ b/paludis/util/sequence.hh
@@ -27,8 +27,26 @@
#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
#include <libwrapiter/libwrapiter_output_iterator-fwd.hh>
+/** \file
+ * Declarations for the Sequence<> class.
+ *
+ * \ingroup g_data_structures
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
+ /**
+ * Wrapper around a list, avoiding the need to include standard library
+ * headers everywhere.
+ *
+ * \ingroup g_data_structures
+ * \since 0.26
+ * \nosubgrouping
+ */
template <typename T_>
class PALUDIS_VISIBLE Sequence :
private PrivateImplementationPattern<Sequence<T_> >,
@@ -38,13 +56,26 @@ namespace paludis
using PrivateImplementationPattern<Sequence<T_> >::_imp;
public:
+ ///\name Standard library typedefs
+ ///\{
+
typedef T_ value_type;
typedef T_ & reference;
typedef const T_ & const_reference;
+ ///\}
+
+ ///\name Basic operations
+ ///\{
+
Sequence();
~Sequence();
+ ///\}
+
+ ///\name Iteration
+ ///\{
+
typedef libwrapiter::ForwardIterator<Sequence<T_>, const T_> ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -55,17 +86,30 @@ namespace paludis
ReverseConstIterator rbegin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ReverseConstIterator rend() const PALUDIS_ATTRIBUTE((warn_unused_result));
- bool empty() const PALUDIS_ATTRIBUTE((warn_unused_result));
-
typedef libwrapiter::OutputIterator<Sequence<T_>, T_> Inserter;
Inserter back_inserter();
Inserter front_inserter();
+ ///\}
+
+ ///\name Content information
+ ///\{
+
+ bool empty() const PALUDIS_ATTRIBUTE((warn_unused_result));
+
+ ///\}
+
+ ///\name Content modification
+ ///\{
+
void push_back(const T_ &);
void push_front(const T_ &);
template <typename C_>
void sort(const C_ &);
+
+ ///\}
+
};
}
diff --git a/paludis/util/set-fwd.hh b/paludis/util/set-fwd.hh
index ed30854..ff65234 100644
--- a/paludis/util/set-fwd.hh
+++ b/paludis/util/set-fwd.hh
@@ -20,6 +20,12 @@
#ifndef PALUDIS_GUARD_PALUDIS_UTIL_SET_FWD_HH
#define PALUDIS_GUARD_PALUDIS_UTIL_SET_FWD_HH 1
+/** \file
+ * Forward declarations for paludis/util/set.hh .
+ *
+ * \ingroup g_data_structures
+ */
+
namespace paludis
{
template <typename T_>
diff --git a/paludis/util/set-impl.hh b/paludis/util/set-impl.hh
index d3f354f..c660e79 100644
--- a/paludis/util/set-impl.hh
+++ b/paludis/util/set-impl.hh
@@ -27,6 +27,12 @@
#include <functional>
#include <iterator>
+/** \file
+ * Implementation for paludis/util/set.hh .
+ *
+ * \ingroup g_data_structures
+ */
+
namespace paludis
{
template <typename T_>
diff --git a/paludis/util/set.hh b/paludis/util/set.hh
index be20208..316b625 100644
--- a/paludis/util/set.hh
+++ b/paludis/util/set.hh
@@ -28,8 +28,25 @@
#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
#include <libwrapiter/libwrapiter_output_iterator-fwd.hh>
+/** \file
+ * Declarations for the Set<> class.
+ *
+ * \ingroup g_data_structures
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
+ /**
+ * A wrapper around a set, avoiding the need to include lots of STL bloat
+ * all over the place.
+ *
+ * \ingroup g_data_structures
+ * \since 0.26
+ */
template <typename T_, typename C_>
class PALUDIS_VISIBLE Set :
private PrivateImplementationPattern<Set<T_, C_> >,
@@ -39,27 +56,52 @@ namespace paludis
using PrivateImplementationPattern<Set<T_, C_> >::_imp;
public:
+ ///\name Standard library typedefs
+ ///\{
+
typedef T_ value_type;
typedef T_ & reference;
typedef const T_ & const_reference;
+ ///\}
+
+ ///\name Basic operations
+ ///\{
+
Set();
~Set();
+ ///\}
+
+ ///\name Iteration
+ ///\{
+
typedef libwrapiter::ForwardIterator<Set<T_, C_>, const T_> ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator find(const T_ &) const PALUDIS_ATTRIBUTE((warn_unused_result));
+ typedef libwrapiter::OutputIterator<Set<T_, C_>, T_> Inserter;
+ Inserter inserter();
+
+ ///\}
+
+ ///\name Content information
+ ///\{
+
bool empty() const PALUDIS_ATTRIBUTE((warn_unused_result));
unsigned size() const PALUDIS_ATTRIBUTE((warn_unused_result));
unsigned count(const T_ &) const PALUDIS_ATTRIBUTE((warn_unused_result));
- typedef libwrapiter::OutputIterator<Set<T_, C_>, T_> Inserter;
- Inserter inserter();
+ ///\}
+
+ ///\name Content modification
+ ///\{
void insert(const T_ &);
void erase(const T_ &);
+
+ ///\}
};
}
diff --git a/paludis/util/sr.hh b/paludis/util/sr.hh
index 0034da8..7d905af 100644
--- a/paludis/util/sr.hh
+++ b/paludis/util/sr.hh
@@ -22,12 +22,22 @@
#include <paludis/util/attributes.hh>
+/** \file
+ * Declarations for various sr-related utility classes.
+ *
+ * \ingroup g_oo
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
* Metaprogramming: an empty class.
*
- * \ingroup grpsr
+ * \ingroup g_oo
*/
struct Empty
{
@@ -41,7 +51,7 @@ namespace paludis
/**
* Metaprogramming: select a type based upon a condition.
*
- * \ingroup grpsr
+ * \ingroup g_oo
*/
template <typename IfTrue_, typename IfFalse_>
struct Select<true, IfTrue_, IfFalse_>
@@ -53,7 +63,7 @@ namespace paludis
/**
* Metaprogramming: select a type based upon a condition.
*
- * \ingroup grpsr
+ * \ingroup g_oo
*/
template <typename IfTrue_, typename IfFalse_>
struct Select<false, IfTrue_, IfFalse_>
diff --git a/paludis/util/stringify.hh b/paludis/util/stringify.hh
index fca358d..203b8ea 100644
--- a/paludis/util/stringify.hh
+++ b/paludis/util/stringify.hh
@@ -28,7 +28,11 @@
/** \file
* Stringify functions.
*
- * \ingroup grpstringify
+ * \ingroup g_strings
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -36,14 +40,14 @@ namespace paludis
/**
* For use by stringify.
*
- * \ingroup grpstringify
+ * \ingroup g_strings
*/
namespace stringify_internals
{
/**
* Check that T_ is a sane type to be stringified.
*
- * \ingroup grpstringify
+ * \ingroup g_strings
*/
template <typename T_>
struct CheckType
@@ -56,7 +60,7 @@ namespace paludis
* Check that T_ is a sane type to be stringified, which it isn't
* if it's a pointer unless it's a char * pointer.
*
- * \ingroup grpstringify
+ * \ingroup g_strings
*/
template <typename T_>
struct CheckType<T_ *>
@@ -67,7 +71,7 @@ namespace paludis
* Check that T_ is a sane type to be stringified, which it isn't
* if it's a CountedPtr.
*
- * \ingroup grpstringify
+ * \ingroup g_strings
*/
template <typename T_>
struct CheckType<tr1::shared_ptr<T_> >
@@ -78,7 +82,7 @@ namespace paludis
* Check that T_ is a sane type to be stringified, which it isn't
* if it's a pointer unless it's a char * pointer.
*
- * \ingroup grpstringify
+ * \ingroup g_strings
*/
template <>
struct CheckType<char *>
@@ -91,7 +95,7 @@ namespace paludis
/**
* Convert item to a string.
*
- * \ingroup grpstringify
+ * \ingroup g_strings
*/
template <typename T_>
std::string
@@ -109,7 +113,7 @@ namespace paludis
/**
* Convert item to a string (overload for std::string).
*
- * \ingroup grpstringify
+ * \ingroup g_strings
*/
inline std::string
stringify(const std::string & item)
@@ -120,7 +124,7 @@ namespace paludis
/**
* Convert item to a string (overload for char).
*
- * \ingroup grpstringify
+ * \ingroup g_strings
*/
inline std::string
stringify(const char & item)
@@ -131,7 +135,7 @@ namespace paludis
/**
* Convert item to a string (overload for unsigned char).
*
- * \ingroup grpstringify
+ * \ingroup g_strings
*/
inline std::string
stringify(const unsigned char & item)
@@ -142,7 +146,7 @@ namespace paludis
/**
* Convert item to a string (overload for bool).
*
- * \ingroup grpstringify
+ * \ingroup g_strings
*/
inline std::string
stringify(const bool & item)
@@ -154,7 +158,7 @@ namespace paludis
* Convert item to a string (overload for char *, which isn't a
* screwup like other pointers).
*
- * \ingroup grpstringify
+ * \ingroup g_strings
*/
inline std::string
stringify(const char * const item)
diff --git a/paludis/util/strip.cc b/paludis/util/strip.cc
index 9259030..25beae8 100644
--- a/paludis/util/strip.cc
+++ b/paludis/util/strip.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006 Ciaran McCreesh <ciaranm@ciaranm.org>
+ * Copyright (c) 2006, 2007 Ciaran McCreesh <ciaranm@ciaranm.org>
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -21,12 +21,6 @@
#include <paludis/util/strip.hh>
#include <paludis/util/stringify.hh>
-/** \file
- * Implementation of strip things.
- *
- * \ingroup grpstrippers
- */
-
namespace paludis
{
std::string strip_leading_string(const std::string & s, const std::string & prefix)
diff --git a/paludis/util/strip.hh b/paludis/util/strip.hh
index 7a0cdaa..8734788 100644
--- a/paludis/util/strip.hh
+++ b/paludis/util/strip.hh
@@ -27,7 +27,11 @@
/** \file
* Strip functions and adapters.
*
- * \ingroup grpstrippers
+ * \ingroup g_strings
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -36,7 +40,7 @@ namespace paludis
* Return a string equal to s minus any leading characters that are
* contained in prefix.
*
- * \ingroup grpstrippers
+ * \ingroup g_strings
*/
std::string strip_leading_string(const std::string & s, const std::string & prefix) PALUDIS_VISIBLE
PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -45,7 +49,7 @@ namespace paludis
* Return a string equal to s, minus the string remove if remove occurs at
* the start of s.
*
- * \ingroup grpstrippers
+ * \ingroup g_strings
*/
std::string strip_leading(const std::string & s, const std::string & remove) PALUDIS_VISIBLE
PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -54,7 +58,7 @@ namespace paludis
* Return a string equal to s minus any trailing characters that are
* contained in suffix.
*
- * \ingroup grpstrippers
+ * \ingroup g_strings
*/
std::string strip_trailing_string(const std::string & s, const std::string & suffix) PALUDIS_VISIBLE
PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -63,7 +67,7 @@ namespace paludis
* Return a string equal to s, minus the string remove if remove occurs at
* the end of s.
*
- * \ingroup grpstrippers
+ * \ingroup g_strings
*/
std::string strip_trailing(const std::string & s, const std::string & remove) PALUDIS_VISIBLE
PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -73,7 +77,7 @@ namespace paludis
* binding a value to the second parameter (avoids the reference to const
* issue with std::bind2nd).
*
- * \ingroup grpstrippers
+ * \ingroup g_strings
* \deprecated Use the function with tr1::bind.
* \nosubgrouping
*/
@@ -107,7 +111,7 @@ namespace paludis
/**
* Adapt strip_leading_string to a functor by binding its second argument.
*
- * \ingroup grpstrippers
+ * \ingroup g_strings
* \deprecated Use tr1::bind
*/
typedef StripAdapter<&strip_leading_string> StripLeadingString PALUDIS_ATTRIBUTE((deprecated));
@@ -115,7 +119,7 @@ namespace paludis
/**
* Adapt strip_leading to a functor by binding its second argument.
*
- * \ingroup grpstrippers
+ * \ingroup g_strings
* \deprecated Use tr1::bind
*/
typedef StripAdapter<&strip_leading> StripLeading PALUDIS_ATTRIBUTE((deprecated));
@@ -123,7 +127,7 @@ namespace paludis
/**
* Adapt strip_trailing_string to a functor by binding its second argument.
*
- * \ingroup grpstrippers
+ * \ingroup g_strings
* \deprecated Use tr1::bind
*/
typedef StripAdapter<&strip_trailing_string> StripTrailingString PALUDIS_ATTRIBUTE((deprecated));
@@ -131,7 +135,7 @@ namespace paludis
/**
* Adapt strip_trailing to a functor by binding its second argument.
*
- * \ingroup grpstrippers
+ * \ingroup g_strings
* \deprecated Use tr1::bind
*/
typedef StripAdapter<&strip_trailing> StripTrailing PALUDIS_ATTRIBUTE((deprecated));
diff --git a/paludis/util/system.cc b/paludis/util/system.cc
index 8d97e08..94aabba 100644
--- a/paludis/util/system.cc
+++ b/paludis/util/system.cc
@@ -36,12 +36,6 @@
#include <iostream>
#include "config.h"
-/** \file
- * Implementation of various system utilities.
- *
- * \ingroup grpsystem
- */
-
using namespace paludis;
namespace
diff --git a/paludis/util/system.hh b/paludis/util/system.hh
index fce3e4c..828676b 100644
--- a/paludis/util/system.hh
+++ b/paludis/util/system.hh
@@ -30,7 +30,11 @@
/** \file
* Various system utilities.
*
- * \ingroup grpsystem
+ * \ingroup g_system
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -40,8 +44,8 @@ namespace paludis
/**
* Thrown if getenv_or_error fails.
*
- * \ingroup grpexceptions
- * \ingroup grpsystem
+ * \ingroup g_exceptions
+ * \ingroup g_system
* \nosubgrouping
*/
class PALUDIS_VISIBLE GetenvError : public Exception
@@ -58,8 +62,8 @@ namespace paludis
/**
* Thrown if fork, wait or chdir fail when running a command.
*
- * \ingroup grpexceptions
- * \ingroup grpsystem
+ * \ingroup g_exceptions
+ * \ingroup g_system
* \nosubgrouping
*/
class PALUDIS_VISIBLE RunCommandError : public Exception
@@ -75,7 +79,7 @@ namespace paludis
* Fetch the value of environment variable key, or def if the variable is
* not defined.
*
- * \ingroup grpsystem
+ * \ingroup g_system
*/
std::string getenv_with_default(const std::string & key, const std::string & def) PALUDIS_VISIBLE;
@@ -83,14 +87,14 @@ namespace paludis
* Fetch the value of environment variable key, or throw a GetenvError if
* the variable is not defined.
*
- * \ingroup grpsystem
+ * \ingroup g_system
*/
std::string getenv_or_error(const std::string & key) PALUDIS_VISIBLE;
/**
* Fetch the kernel version, for $KV.
*
- * \ingroup grpsystem
+ * \ingroup g_system
*/
std::string kernel_version() PALUDIS_VISIBLE;
@@ -99,7 +103,7 @@ namespace paludis
*
* \see PStream
* \see run_command
- * \ingroup grpsystem
+ * \ingroup g_system
* \nosubgrouping
*/
class PALUDIS_VISIBLE Command :
@@ -229,13 +233,12 @@ namespace paludis
///\}
};
-
/**
* Run a command, wait for it to terminate and return its exit status.
*
* Use PStream instead if you need to capture stdout.
*
- * \ingroup grpsystem
+ * \ingroup g_system
*/
int run_command(const Command & cmd) PALUDIS_VISIBLE
PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -244,7 +247,7 @@ namespace paludis
* Set the stderr and close for stdout fds used by run_command and
* run_command_in_directory.
*
- * \ingroup grpsystem
+ * \ingroup g_system
*/
void set_run_command_stdout_fds(const int, const int) PALUDIS_VISIBLE;
@@ -252,21 +255,21 @@ namespace paludis
* Set the stderr and close for stderr fds used by run_command and
* run_command_in_directory.
*
- * \ingroup grpsystem
+ * \ingroup g_system
*/
void set_run_command_stderr_fds(const int, const int) PALUDIS_VISIBLE;
/**
* Fetch the username for a uid, or the uid as a string if not available.
*
- * \ingroup grpsystem
+ * \ingroup g_system
*/
std::string get_user_name(const uid_t) PALUDIS_VISIBLE;
/**
* Fetch the group name for a gid, or the gid as a string if not available.
*
- * \ingroup grpsystem
+ * \ingroup g_system
*/
std::string get_group_name(const gid_t) PALUDIS_VISIBLE;
}
diff --git a/paludis/util/tokeniser.hh b/paludis/util/tokeniser.hh
index 35ac601..ff099e1 100644
--- a/paludis/util/tokeniser.hh
+++ b/paludis/util/tokeniser.hh
@@ -27,7 +27,11 @@
/** \file
* Declarations for Tokeniser and related utilities.
*
- * \ingroup grptokenise
+ * \ingroup g_strings
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -35,14 +39,14 @@ namespace paludis
/**
* Delimiter policy for Tokeniser.
*
- * \ingroup grptokenise
+ * \ingroup g_strings
*/
namespace delim_kind
{
/**
* Any of the characters split, and the delimiter is discarded.
*
- * \ingroup grptokenise
+ * \ingroup g_strings
*/
struct AnyOfTag
{
@@ -52,14 +56,14 @@ namespace paludis
/**
* Delimiter mode for Tokeniser.
*
- * \ingroup grptokenise
+ * \ingroup g_strings
*/
namespace delim_mode
{
/**
* Discard the delimiters.
*
- * \ingroup grptokenise
+ * \ingroup g_strings
*/
struct DelimiterTag
{
@@ -68,7 +72,7 @@ namespace paludis
/**
* Keep the delimiters.
*
- * \ingroup grptokenise
+ * \ingroup g_strings
*/
struct BoundaryTag
{
@@ -78,14 +82,14 @@ namespace paludis
/**
* Tokeniser internal use only.
*
- * \ingroup grptokenise
+ * \ingroup g_strings
*/
namespace tokeniser_internals
{
/**
* A Writer handles Tokeniser's writes.
*
- * \ingroup grptokenise
+ * \ingroup g_strings
*/
template <typename DelimMode_, typename Char_, typename Iter_>
struct Writer;
@@ -94,7 +98,7 @@ namespace paludis
* A Writer handles Tokeniser's writes (specialisation for
* delim_mode::DelimiterTag).
*
- * \ingroup grptokenise
+ * \ingroup g_strings
*/
template <typename Char_, typename Iter_>
struct Writer<delim_mode::DelimiterTag, Char_, Iter_>
@@ -119,7 +123,7 @@ namespace paludis
* A Writer handles Tokeniser's writes (specialisation for
* delim_mode::BoundaryTag).
*
- * \ingroup grptokenise
+ * \ingroup g_strings
*/
template <typename Char_, typename Iter_>
struct Writer<delim_mode::BoundaryTag, Char_, Iter_>
@@ -146,7 +150,7 @@ namespace paludis
/**
* Tokeniser splits up strings into smaller strings.
*
- * \ingroup grptokenise
+ * \ingroup g_strings
*/
template <typename DelimKind_, typename DelimMode_, typename Char_ = std::string::value_type>
struct Tokeniser;
@@ -154,7 +158,7 @@ namespace paludis
/**
* Tokeniser: specialisation for delim_kind::AnyOfTag.
*
- * \ingroup grptokenise
+ * \ingroup g_strings
* \nosubgrouping
*/
template <typename DelimMode_, typename Char_>
@@ -230,7 +234,7 @@ namespace paludis
/**
* Convenience singleton class for tokenising on whitespace.
*
- * \ingroup grptokenise
+ * \ingroup g_strings
*/
class PALUDIS_VISIBLE WhitespaceTokeniser :
public InstantiationPolicy<WhitespaceTokeniser, instantiation_method::SingletonTag>,
diff --git a/paludis/util/validated-fwd.hh b/paludis/util/validated-fwd.hh
index 44c282b..45ebefd 100644
--- a/paludis/util/validated-fwd.hh
+++ b/paludis/util/validated-fwd.hh
@@ -22,6 +22,12 @@
#include <iosfwd>
+/** \file
+ * Forward declarations for paludis/util/validated.hh .
+ *
+ * \ingroup g_data_structures
+ */
+
namespace paludis
{
template <typename, typename, bool = true>
diff --git a/paludis/util/validated.hh b/paludis/util/validated.hh
index 891a292..ea406e1 100644
--- a/paludis/util/validated.hh
+++ b/paludis/util/validated.hh
@@ -28,7 +28,12 @@
/** \file
* Validated declarations.
*
- * \ingroup grpvalidated
+ * \ingroup g_data_structures
+ *
+ * \section Examples
+ *
+ * - \ref example_name.cc "example_name.cc" shows basic usage of various defined
+ * Validated classes.
*/
namespace paludis
@@ -37,7 +42,7 @@ namespace paludis
* A Validated wraps a particular class instance, ensuring that it always
* meets certain validation criteria.
*
- * \ingroup grpvalidated
+ * \ingroup g_data_structures
*/
template <typename ValidatedDataType_, typename Validator_, bool full_comparison_>
class Validated :
@@ -118,7 +123,7 @@ namespace paludis
/**
* Writing a Validated instance to a stream is done by its data.
*
- * \ingroup grpvalidated
+ * \ingroup g_data_structures
*/
template <typename D_, typename V_, bool c_>
std::ostream &
diff --git a/paludis/util/virtual_constructor-impl.hh b/paludis/util/virtual_constructor-impl.hh
index 96a1643..e4bb4c3 100644
--- a/paludis/util/virtual_constructor-impl.hh
+++ b/paludis/util/virtual_constructor-impl.hh
@@ -28,9 +28,9 @@
#include <vector>
/** \file
- * Declarations for VirtualConstructor and related classes.
+ * Implementation for paludis/util/virtual_constructor.hh .
*
- * \ingroup grpvc
+ * \ingroup g_oo
*/
namespace paludis
@@ -50,14 +50,14 @@ namespace paludis
/**
* For internal use by VirtualConstructor.
*
- * \ingroup grpvc
+ * \ingroup g_oo
*/
namespace virtual_constructor_internals
{
/**
* Comparator class for our entries.
*
- * \ingroup grpvc
+ * \ingroup g_oo
*/
template <typename First_, typename Second_>
struct ComparePairByFirst
@@ -84,7 +84,7 @@ namespace paludis
* Holds the entries for a VirtualConstructor.
*
* \see VirtualConstructor
- * \ingroup grpvc
+ * \ingroup g_oo
* \nosubgrouping
*/
template <typename KeyType_, typename ValueType_, typename NotFoundBehaviour_>
diff --git a/paludis/util/virtual_constructor.hh b/paludis/util/virtual_constructor.hh
index 80839e4..9e2f8fa 100644
--- a/paludis/util/virtual_constructor.hh
+++ b/paludis/util/virtual_constructor.hh
@@ -27,7 +27,11 @@
/** \file
* Declarations for VirtualConstructor and related classes.
*
- * \ingroup grpvc
+ * \ingroup g_oo
+ *
+ * \section Examples
+ *
+ * - None at this time.
*/
namespace paludis
@@ -36,7 +40,7 @@ namespace paludis
* Behaviour policy classes for what to do if an appropriate constructor
* cannot be found for a VirtualConstructor::find_maker call.
*
- * \ingroup grpvc
+ * \ingroup g_oo
*/
namespace virtual_constructor_not_found
{
@@ -44,7 +48,7 @@ namespace paludis
* Throw an exception of type ExceptionType_, which should have a
* constructor that takes a single parameter of KeyType_.
*
- * \ingroup grpvc
+ * \ingroup g_oo
*/
template <typename ExceptionType_>
struct ThrowException
@@ -52,7 +56,7 @@ namespace paludis
/**
* Internal use: provide handle_not_found.
*
- * \ingroup grpvc
+ * \ingroup g_oo
*/
template <typename KeyType_, typename ValueType_>
struct Parent
@@ -70,7 +74,7 @@ namespace paludis
* some key type (often a string) to the construction of some kind of
* class (possibly via a functor) is required.
*
- * \ingroup grpvc
+ * \ingroup g_oo
*/
template <typename KeyType_, typename ValueType_, typename NotFoundBehaviour_>
class PALUDIS_VISIBLE VirtualConstructor :
diff --git a/paludis/util/visitor-fwd.hh b/paludis/util/visitor-fwd.hh
index 805418e..d460896 100644
--- a/paludis/util/visitor-fwd.hh
+++ b/paludis/util/visitor-fwd.hh
@@ -22,6 +22,12 @@
#include <paludis/util/no_type.hh>
+/** \file
+ * Forward declarations for paludis/util/visitor.hh .
+ *
+ * \ingroup g_visitors
+ */
+
namespace paludis
{
namespace visitor_internals
diff --git a/paludis/util/visitor-impl.hh b/paludis/util/visitor-impl.hh
index 7f4cf26..cb2c73d 100644
--- a/paludis/util/visitor-impl.hh
+++ b/paludis/util/visitor-impl.hh
@@ -25,6 +25,12 @@
#include <paludis/util/sequence-impl.hh>
#include <paludis/util/iterator.hh>
+/** \file
+ * Implementation for paludis/util/visitor.hh .
+ *
+ * \ingroup g_visitors
+ */
+
namespace paludis
{
namespace visitor_internals
diff --git a/paludis/util/visitor.hh b/paludis/util/visitor.hh
index 587bcf3..f08bae8 100644
--- a/paludis/util/visitor.hh
+++ b/paludis/util/visitor.hh
@@ -20,12 +20,6 @@
#ifndef PALUDIS_GUARD_PALUDIS_VISITOR_HH
#define PALUDIS_GUARD_PALUDIS_VISITOR_HH 1
-/** \file
- * Declares the Visitor and related classes.
- *
- * \ingroup grpvisitor
- */
-
#include <paludis/util/attributes.hh>
#include <paludis/util/visitor-fwd.hh>
#include <paludis/util/sequence-fwd.hh>
@@ -34,11 +28,21 @@
#include <paludis/util/operators.hh>
#include <libwrapiter/libwrapiter_forward_iterator-fwd.hh>
+/** \file
+ * Declares the Visitor and related classes.
+ *
+ * \ingroup g_visitors
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
/**
* \namespace visitor_internals
- * \ingroup grpvisitor
+ * \ingroup g_visitors
*
* For internal use by visitor classes.
*/
@@ -47,7 +51,7 @@ namespace paludis
/**
* Derived classes can accept a const visitor of heirarchy H_.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_>
@@ -113,7 +117,7 @@ namespace paludis
/**
* Implementation of ConstAcceptInterface for class T_.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename T_>
@@ -132,7 +136,7 @@ namespace paludis
/**
* Derived classes can accept a const or non-const visitor of heirarchy H_.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_>
@@ -207,7 +211,7 @@ namespace paludis
/**
* Implementation of ConstAcceptInterface for class T_.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename T_>
@@ -229,7 +233,7 @@ namespace paludis
* Used to contain a node with no children in a detached visitable
* heirarchy.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
*/
template <typename H_, typename T_>
class PALUDIS_VISIBLE TreeLeaf :
@@ -275,7 +279,7 @@ namespace paludis
* Used to contain a node with a sequence of children in a detached visitable
* heirarchy.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
*/
template <typename H_, typename T_>
class PALUDIS_VISIBLE TreeSequence :
@@ -341,7 +345,7 @@ namespace paludis
* Used to contain a node with a sequence of children in a detached visitable
* heirarchy, where children can only be created in const form.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
*/
template <typename H_, typename T_>
class PALUDIS_VISIBLE ConstTreeSequence :
@@ -398,7 +402,7 @@ namespace paludis
/**
* Derived classes can visit an item of type T_.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename T_>
@@ -424,7 +428,7 @@ namespace paludis
* Derived classes can visit an item of type T_ (specialisation for
* NoType).
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <unsigned u_>
@@ -436,7 +440,7 @@ namespace paludis
* Derived classes can visit an item of type T_ (specialisation for
* NoType).
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <unsigned u_>
@@ -448,7 +452,7 @@ namespace paludis
* Derived classes can visit an item of type T_ (specialisation for
* TreeLeaf).
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename T_>
@@ -476,7 +480,7 @@ namespace paludis
* Derived classes can visit an item of type T_ (specialisation for
* TreeLeaf).
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename T_>
@@ -504,7 +508,7 @@ namespace paludis
* Derived classes can visit an item of type T_ (specialisation for
* TreeSequence).
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename T_>
@@ -534,7 +538,7 @@ namespace paludis
* Derived classes can visit an item of type T_ (specialisation for
* TreeSequence).
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename T_>
@@ -564,7 +568,7 @@ namespace paludis
* Derived classes can visit an item of type T_ (specialisation for
* ConstTreeSequence).
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename T_>
@@ -594,7 +598,7 @@ namespace paludis
* Derived classes can visit an item of type T_ (specialisation for
* ConstTreeSequence).
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename T_>
@@ -624,7 +628,7 @@ namespace paludis
* Container class providing convenience typedefs for iterators over a
* TreeSequence.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_>
@@ -642,7 +646,7 @@ namespace paludis
/**
* Proxy visitor adapter.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename LargerH_, typename T_>
@@ -654,7 +658,7 @@ namespace paludis
/**
* Proxy visitor adapter.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename LargerH_, unsigned u_>
@@ -665,7 +669,7 @@ namespace paludis
/**
* Proxy visitor adapter.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename LargerH_, unsigned u_>
@@ -676,7 +680,7 @@ namespace paludis
/**
* Proxy visitor adapter.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename LargerH_, typename T_>
@@ -702,7 +706,7 @@ namespace paludis
/**
* Proxy visitor adapter.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename LargerH_, typename T_>
@@ -728,7 +732,7 @@ namespace paludis
/**
* Proxy visitor adapter.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename LargerH_, typename T_>
@@ -756,7 +760,7 @@ namespace paludis
/**
* Proxy visitor adapter.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename LargerH_, typename T_>
@@ -784,7 +788,7 @@ namespace paludis
/**
* Proxy visitor adapter.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename LargerH_, typename T_>
@@ -812,7 +816,7 @@ namespace paludis
/**
* Proxy visitor.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename LargerH_>
@@ -861,7 +865,7 @@ namespace paludis
/**
* Proxy visitor adapter.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename LargerH_>
@@ -910,7 +914,7 @@ namespace paludis
/**
* Proxy visitor adapter iterator.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename LargerH_>
@@ -951,7 +955,7 @@ namespace paludis
/**
* Proxy visitor adapter iterator.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename H_, typename LargerH_>
@@ -994,7 +998,7 @@ namespace paludis
/**
* Define policy for a set of visitor types.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <
@@ -1063,7 +1067,7 @@ namespace paludis
* A ConstVisitor visits a visitable heirarchy.
*
* \nosubgrouping
- * \ingroup grpvisitor
+ * \ingroup g_visitors
*/
template <typename H_>
class ConstVisitor :
@@ -1100,7 +1104,7 @@ namespace paludis
* Derived classes visit a ConstTreeSequence by visiting all of
* its children.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename A_, typename B_>
@@ -1121,7 +1125,7 @@ namespace paludis
* Derived classes visit a TreeSequence by visiting all of
* its children.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename A_, typename B_>
@@ -1141,7 +1145,7 @@ namespace paludis
/**
* Query whether we contain a particular type.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename A_>
@@ -1182,7 +1186,7 @@ namespace paludis
* A ConstVisitor visits a visitable heirarchy.
*
* \nosubgrouping
- * \ingroup grpvisitor
+ * \ingroup g_visitors
*/
template <typename H_>
class Visitor :
@@ -1219,7 +1223,7 @@ namespace paludis
* Derived classes visit a TreeSequence by visiting all of
* its children.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename A_, typename B_>
@@ -1239,7 +1243,7 @@ namespace paludis
/**
* Query whether we contain a particular type.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename A_>
@@ -1279,7 +1283,7 @@ namespace paludis
/**
* For use by get_const_item.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename I_, typename H_, typename T_>
@@ -1288,7 +1292,7 @@ namespace paludis
/**
* For use by get_const_item.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename I_, typename H_, unsigned u_>
@@ -1299,7 +1303,7 @@ namespace paludis
/**
* For use by get_const_item.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename I_, typename T_, typename H_>
@@ -1317,7 +1321,7 @@ namespace paludis
/**
* For use by get_const_item.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename I_, typename H_, typename T_>
@@ -1337,7 +1341,7 @@ namespace paludis
/**
* For use by get_const_item.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename I_, typename H_, typename T_>
@@ -1357,7 +1361,7 @@ namespace paludis
/**
* For use by get_const_item.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename I_>
@@ -1397,7 +1401,7 @@ namespace paludis
/**
* Given a heirarchy node, fetch the associated item.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
* \nosubgrouping
*/
template <typename I_>
@@ -1409,7 +1413,7 @@ namespace paludis
* Used by accept_visitor.
*
* \nosubgrouping
- * \ingroup grpvisitor
+ * \ingroup g_visitors
*/
template <typename Visitor_>
class PALUDIS_VISIBLE AcceptVisitor
@@ -1440,7 +1444,7 @@ namespace paludis
/**
* Convenience function for using a visitor with a standard algorithm.
*
- * \ingroup grpvisitor
+ * \ingroup g_visitors
*/
template <typename Visitor_>
AcceptVisitor<Visitor_> PALUDIS_VISIBLE accept_visitor(Visitor_ & v)
diff --git a/paludis/util/visitor_cast.hh b/paludis/util/visitor_cast.hh
index 50090cf..15e3f7a 100644
--- a/paludis/util/visitor_cast.hh
+++ b/paludis/util/visitor_cast.hh
@@ -23,10 +23,31 @@
#include <paludis/util/visitor.hh>
#include <paludis/util/tr1_type_traits.hh>
+/** \file
+ * Declarations for the visitor_cast function.
+ *
+ * \ingroup g_visitors
+ *
+ * \section Examples
+ *
+ * - None at this time.
+ */
+
namespace paludis
{
+ /**
+ * For internal use by visitor_cast.
+ *
+ * \ingroup g_visitors
+ */
namespace visitor_cast_internals
{
+ /**
+ * Internal use by visitor_cast: fetch the result, or zero.
+ *
+ * \ingroup g_visitors
+ * \since 0.26
+ */
template <typename T_, bool b_>
struct GetResult
{
@@ -36,6 +57,12 @@ namespace paludis
}
};
+ /**
+ * Internal use by visitor_cast: fetch the result, or zero.
+ *
+ * \ingroup g_visitors
+ * \since 0.26
+ */
template <typename T_>
struct GetResult<T_, true>
{
@@ -45,6 +72,13 @@ namespace paludis
}
};
+ /**
+ * Internal use by visitor_cast: implement the visit functions.
+ *
+ * \ingroup g_visitors
+ * \since 0.26
+ * \nosubgrouping
+ */
template <typename Result_, typename Heirarchy_, typename Item_>
struct VisitorCastVisitorVisits :
virtual visitor_internals::Visits<const Item_>
@@ -62,6 +96,13 @@ namespace paludis
}
};
+ /**
+ * Internal use by visitor_cast: implement the visit functions.
+ *
+ * \ingroup g_visitors
+ * \since 0.26
+ * \nosubgrouping
+ */
template <typename Result_, typename Heirarchy_, unsigned u_>
struct VisitorCastVisitorVisits<Result_, Heirarchy_, const NoType<u_> >
{
@@ -70,6 +111,13 @@ namespace paludis
}
};
+ /**
+ * Internal use by visitor_cast: implement the visit functions.
+ *
+ * \ingroup g_visitors
+ * \since 0.26
+ * \nosubgrouping
+ */
template <typename Result_, typename Heirarchy_, typename Item_>
struct VisitorCastVisitorVisits<Result_, Heirarchy_, const TreeLeaf<Heirarchy_, Item_> > :
virtual visitor_internals::Visits<const TreeLeaf<Heirarchy_, Item_> >
@@ -87,6 +135,13 @@ namespace paludis
}
};
+ /**
+ * Internal use by visitor_cast: implement the visit functions.
+ *
+ * \ingroup g_visitors
+ * \since 0.26
+ * \nosubgrouping
+ */
template <typename Result_, typename Heirarchy_, typename Item_>
struct VisitorCastVisitorVisits<Result_, Heirarchy_, const ConstTreeSequence<Heirarchy_, Item_> > :
virtual visitor_internals::Visits<const ConstTreeSequence<Heirarchy_, Item_> >
@@ -106,6 +161,13 @@ namespace paludis
}
};
+ /**
+ * Internal use by visitor_cast: implement the visit functions.
+ *
+ * \ingroup g_visitors
+ * \since 0.26
+ * \nosubgrouping
+ */
template <typename Result_, typename Heirarchy_, typename Item_>
struct VisitorCastVisitorVisits<Result_, Heirarchy_, const TreeSequence<Heirarchy_, Item_> > :
virtual visitor_internals::Visits<const TreeSequence<Heirarchy_, Item_> >
@@ -125,6 +187,13 @@ namespace paludis
}
};
+ /**
+ * Internal use by visitor_cast: the visitor used to do the casting.
+ *
+ * \ingroup g_visitors
+ * \since 0.26
+ * \nosubgrouping
+ */
template <typename Result_, typename Heirarchy_>
struct VisitorCastVisitor :
ConstVisitor<Heirarchy_>,
@@ -178,6 +247,13 @@ namespace paludis
};
}
+ /**
+ * Use a visitor to return either a pointer to the parameter as type Item_,
+ * or a zero pointer if the item is not of the correct type.
+ *
+ * \ingroup g_visitors
+ * \since 0.26
+ */
template <typename Result_, typename Item_>
Result_ *
visitor_cast(const Item_ & h)
diff --git a/paludis/version_spec-fwd.hh b/paludis/version_spec-fwd.hh
index 990e7fa..9cad5c0 100644
--- a/paludis/version_spec-fwd.hh
+++ b/paludis/version_spec-fwd.hh
@@ -37,7 +37,7 @@ namespace paludis
/**
* Output a VersionSpec to a stream.
*
- * \ingroup grpversions
+ * \ingroup g_names
*/
std::ostream & operator<< (std::ostream &, const VersionSpec &) PALUDIS_VISIBLE;
}
diff --git a/paludis/version_spec.cc b/paludis/version_spec.cc
index b097779..86a0a60 100644
--- a/paludis/version_spec.cc
+++ b/paludis/version_spec.cc
@@ -544,11 +544,6 @@ VersionSpec::hash_value() const
namespace
{
- /**
- * Identify Part instances that are of a certain kind.
- *
- * \ingroup grpversions
- */
template <PartKind p_>
struct IsPart :
std::unary_function<Part, bool>
diff --git a/test/run_test.sh b/test/run_test.sh
index 6e41a42..e65c05f 100755
--- a/test/run_test.sh
+++ b/test/run_test.sh
@@ -38,10 +38,6 @@ fi
if [[ 0 != ${code} ]] ; then
echo ">>> test ${testname} returned ${code}"
- if test -f "$TEST_SCRIPT_DIR""${testname}"_"cleanup.sh" ; then
- echo ">>> cleanup for test ${testname}"
- "$TEST_SCRIPT_DIR""${testname}"_"cleanup.sh"
- fi
echo ">>> exiting with error for test ${testname}"
exit 255
fi