aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-04-19 18:16:31 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2006-04-19 18:16:31 +0000
commit7864df6fe0b058dc9fb16497b29c96e73ef4580c (patch)
treed9584e971ea743379bce823251f05b224514f218
parentcf3a1a38c42c3ce40dabf70a3a2818978eb5b108 (diff)
downloadpaludis-7864df6fe0b058dc9fb16497b29c96e73ef4580c.tar.gz
paludis-7864df6fe0b058dc9fb16497b29c96e73ef4580c.tar.xz
More documentation reworking
-rw-r--r--doc/doc_main.doxygen44
-rw-r--r--paludis/ebuild.cc6
-rw-r--r--paludis/ebuild.hh163
-rw-r--r--paludis/environment.cc15
-rw-r--r--paludis/environment.hh24
-rw-r--r--paludis/fake_repository.cc8
-rw-r--r--paludis/fake_repository.hh4
-rw-r--r--paludis/hashed_containers.cc6
-rw-r--r--paludis/hashed_containers.hh.in54
-rw-r--r--paludis/hashed_containers_TEST.cc2
-rw-r--r--paludis/mask_reasons.cc7
-rw-r--r--paludis/mask_reasons.hh16
-rw-r--r--paludis/match_package.cc23
-rw-r--r--paludis/match_package.hh50
-rw-r--r--paludis/name.cc6
-rw-r--r--paludis/name.hh86
-rw-r--r--paludis/name_TEST.cc18
17 files changed, 477 insertions, 55 deletions
diff --git a/doc/doc_main.doxygen b/doc/doc_main.doxygen
index 8261b11..1b428ff 100644
--- a/doc/doc_main.doxygen
+++ b/doc/doc_main.doxygen
@@ -39,6 +39,21 @@
* \ingroup grplibpaludis
*/
+/** \defgroup grpebuildinterface Ebuild interface
+ *
+ * \ingroup grplibpaludis
+ */
+
+/** \defgroup grphashedcontainers Hashed containers
+ *
+ * \ingroup grplibpaludis
+ */
+
+/** \defgroup grpnames Names
+ *
+ * \ingroup grplibpaludis
+ */
+
// ----- grpconfigfile Subgroups -----
/** \defgroup grpkvconfigfile Key/Value configuration file
@@ -63,6 +78,16 @@
* \ingroup grpenvironment
*/
+/** \defgroup grppackagedatabase Package database
+ *
+ * \ingroup grpenvironment
+ */
+
+/** \defgroup grpmaskreasons Mask reasons
+ *
+ * \ingroup grpenvironment
+ */
+
// ----- grpdefaultenvironment Subgroups -----
/** \defgroup grpdefaultconfig Default configuration
@@ -70,6 +95,20 @@
* \ingroup grpdefaultenvironment
*/
+// --- grppackagedatabase Subgroups -----
+
+/** \defgroup grprepository Repositories
+ *
+ * \ingroup grppackagedatabase
+ */
+
+// --- grprepository Subgroups -----
+
+/** \defgroup grpfakerepository Fake repository
+ *
+ * \ingroup grprepository
+ */
+
// ----- grpdepatoms Subgroups -----
/** \defgroup grpdepatomdumper Dep atom dumper
@@ -104,6 +143,11 @@
* \ingroup grpdependencies
*/
+/** \defgroup grpmatchpackage Match package
+ *
+ * \ingroup grpdependencies
+ */
+
// ----- grpdepparser Subgroups -----
/** \defgroup grpdeplexer Dependency lexing
diff --git a/paludis/ebuild.cc b/paludis/ebuild.cc
index 578b5f8..fa22db1 100644
--- a/paludis/ebuild.cc
+++ b/paludis/ebuild.cc
@@ -24,6 +24,12 @@
#include <paludis/environment.hh>
#include <paludis/config_file.hh>
+/** \file
+ * Implementation for ebuild.hh things.
+ *
+ * \ingroup grpebuildinterface
+ */
+
using namespace paludis;
EbuildCommand::EbuildCommand(const EbuildCommandParams & p) :
diff --git a/paludis/ebuild.hh b/paludis/ebuild.hh
index 76dd4fa..a3db0ad 100644
--- a/paludis/ebuild.hh
+++ b/paludis/ebuild.hh
@@ -28,8 +28,21 @@
#include <string>
#include <map>
+/** \file
+ * Declarations for the EbuildCommand classes.
+ *
+ * \ingroup grpebuildinterface
+ */
+
namespace paludis
{
+ /**
+ * Keys for EbuildCommandParams.
+ *
+ * \see EbuildCommandParams
+ *
+ * \ingroup grpebuildinterface
+ */
enum EbuildCommandParamsKeys
{
ecpk_environment,
@@ -45,6 +58,13 @@ namespace paludis
class Environment;
class MakeEnvCommand;
+ /**
+ * Tag for EbuildCommandParams.
+ *
+ * \see EbuildCommandParams.
+ *
+ * \ingroup grpebuildinterface
+ */
struct EbuildCommandParamsTag :
SmartRecordTag<comparison_mode::NoComparisonTag, void>,
SmartRecordKeys<EbuildCommandParamsKeys, last_ecpk>,
@@ -58,32 +78,87 @@ namespace paludis
{
};
+ /**
+ * Parameters for EbuildCommand's constructor.
+ *
+ * \ingroup grpebuildinterface
+ */
typedef MakeSmartRecord<EbuildCommandParamsTag>::Type EbuildCommandParams;
+ /**
+ * An EbuildCommand is the base class from which specific ebuild
+ * command interfaces are descended.
+ *
+ * \ingroup grpebuildinterface
+ */
class EbuildCommand :
private InstantiationPolicy<EbuildCommand, instantiation_method::NonCopyableTag>
{
protected:
+ /**
+ * Our parameters.
+ */
const EbuildCommandParams params;
+ /**
+ * Constructor.
+ */
EbuildCommand(const EbuildCommandParams &);
+ /**
+ * Override in descendents: which commands (for example, 'prerm
+ * unmerge postrm') do we give to ebuild.bash?
+ */
virtual std::string commands() const = 0;
+ /**
+ * Actions to be taken after a successful command.
+ *
+ * The return value of this function is used for the return value
+ * of operator().
+ */
virtual bool success();
+ /**
+ * Actions to be taken after a failed command.
+ *
+ * The return value of this function is used for the return value
+ * of operator(). In some descendents, this function throws and
+ * does not return.
+ */
virtual bool failure() = 0;
+ /**
+ * Run the specified command. Can be overridden if, for example,
+ * the command output needs to be captured.
+ *
+ * \return Whether the command succeeded.
+ */
virtual bool do_run_command(const std::string &);
+ /**
+ * Extend the command to be run.
+ */
virtual MakeEnvCommand extend_command(const MakeEnvCommand &) = 0;
public:
+ /**
+ * Destructor.
+ */
virtual ~EbuildCommand();
+ /**
+ * Run the command.
+ */
virtual bool operator() ();
};
+ /**
+ * An EbuildMetadataCommand is used to generate metadata for a particular
+ * ebuild in a PortageRepository.
+ *
+ * \ingroup grpebuildinterface
+ */
class EbuildMetadataCommand :
public EbuildCommand
{
@@ -100,14 +175,28 @@ namespace paludis
virtual bool do_run_command(const std::string &);
public:
+ /**
+ * Constructor.
+ */
EbuildMetadataCommand(const EbuildCommandParams &);
+ /**
+ * Return a pointer to our generated metadata. If operator() has not
+ * yet been called, will be a zero pointer.
+ */
VersionMetadata::Pointer metadata() const
{
return _metadata;
}
};
+ /**
+ * Keys for EbuildFetchCommandParams.
+ *
+ * \see EbuildFetchCommandParams
+ *
+ * \ingroup grpebuildinterface
+ */
enum EbuildFetchCommandParamsKeys
{
ecfpk_a,
@@ -120,6 +209,13 @@ namespace paludis
last_ecfpk
};
+ /**
+ * Tag for EbuildFetchCommandParams.
+ *
+ * \see EbuildFetchCommandParams
+ *
+ * \ingroup grpebuildinterface
+ */
struct EbuildFetchCommandParamsTag :
SmartRecordTag<comparison_mode::NoComparisonTag, void>,
SmartRecordKeys<EbuildFetchCommandParamsKeys, last_ecfpk>,
@@ -133,8 +229,17 @@ namespace paludis
{
};
+ /**
+ * Parameters for EbuildFetchCommand's constructor.
+ *
+ * \ingroup grpebuildinterface.
+ */
typedef MakeSmartRecord<EbuildFetchCommandParamsTag>::Type EbuildFetchCommandParams;
+ /**
+ * An EbuildFetchCommand is used to download and verify the digests for a
+ * particular ebuild in a PortageRepository. On failure it throws.
+ */
class EbuildFetchCommand :
public EbuildCommand
{
@@ -148,9 +253,19 @@ namespace paludis
virtual MakeEnvCommand extend_command(const MakeEnvCommand &);
public:
+ /**
+ * Constructor.
+ */
EbuildFetchCommand(const EbuildCommandParams &, const EbuildFetchCommandParams &);
};
+ /**
+ * Keys for EbuildInstallCommandParams.
+ *
+ * \see EbuildInstallCommandParams
+ *
+ * \ingroup grpebuildinterface
+ */
enum EbuildInstallCommandParamsKeys
{
ecipk_a,
@@ -165,6 +280,13 @@ namespace paludis
last_ecipk
};
+ /**
+ * Tag for EbuildInstallCommandParams.
+ *
+ * \see EbuildInstallCommandParams
+ *
+ * \ingroup grpebuildinterface
+ */
struct EbuildInstallCommandParamsTag :
SmartRecordTag<comparison_mode::NoComparisonTag, void>,
SmartRecordKeys<EbuildInstallCommandParamsKeys, last_ecipk>,
@@ -180,8 +302,19 @@ namespace paludis
{
};
+ /**
+ * Parameters for EbuildInstallCommand's constructor.
+ *
+ * \ingroup grpebuildinterface
+ */
typedef MakeSmartRecord<EbuildInstallCommandParamsTag>::Type EbuildInstallCommandParams;
+ /**
+ * An EbuildInstallCommand is used to install an ebuild from a
+ * PortageRepository. On failure it throws.
+ *
+ * \ingroup grpebuildinterface
+ */
class EbuildInstallCommand :
public EbuildCommand
{
@@ -195,9 +328,19 @@ namespace paludis
virtual MakeEnvCommand extend_command(const MakeEnvCommand &);
public:
+ /**
+ * Constructor.
+ */
EbuildInstallCommand(const EbuildCommandParams &, const EbuildInstallCommandParams &);
};
+ /**
+ * Keys for EbuildUninstallCommandParams.
+ *
+ * \see EbuildUninstallCommandParams
+ *
+ * \ingroup grpebuildinterface
+ */
enum EbuildUninstallCommandParamsKeys
{
ecupk_root,
@@ -206,6 +349,13 @@ namespace paludis
last_ecupk
};
+ /**
+ * Tags for EbuildUninstallCommandParams.
+ *
+ * \see EbuildUninstallCommandParams
+ *
+ * \ingroup grpebuildinterface
+ */
struct EbuildUninstallCommandParamsTag :
SmartRecordTag<comparison_mode::NoComparisonTag, void>,
SmartRecordKeys<EbuildUninstallCommandParamsKeys, last_ecupk>,
@@ -215,8 +365,18 @@ namespace paludis
{
};
+ /**
+ * Parameters for EbuildUninstallCommand's constructor.
+ *
+ * \ingroup grpebuildinterface
+ */
typedef MakeSmartRecord<EbuildUninstallCommandParamsTag>::Type EbuildUninstallCommandParams;
+ /**
+ * An EbuildUninstallCommand is used to uninstall a package in a VDBRepository.
+ *
+ * \ingroup grpebuildinterface
+ */
class EbuildUninstallCommand :
public EbuildCommand
{
@@ -230,6 +390,9 @@ namespace paludis
virtual MakeEnvCommand extend_command(const MakeEnvCommand &);
public:
+ /**
+ * Constructor.
+ */
EbuildUninstallCommand(const EbuildCommandParams &, const EbuildUninstallCommandParams &);
};
}
diff --git a/paludis/environment.cc b/paludis/environment.cc
index 7f8f957..5cbf7be 100644
--- a/paludis/environment.cc
+++ b/paludis/environment.cc
@@ -23,6 +23,12 @@
#include <paludis/environment.hh>
#include <paludis/util/log.hh>
+/** \file
+ * Implementation of Environment.
+ *
+ * \ingroup grpenvironment
+ */
+
using namespace paludis;
Environment::Environment(PackageDatabase::Pointer d) :
@@ -37,6 +43,9 @@ Environment::~Environment()
namespace
{
+ /**
+ * Check whether licences for a package are accepted.
+ */
struct LicenceChecker :
DepAtomVisitorTypes::ConstVisitor
{
@@ -44,6 +53,7 @@ namespace
const Environment * const env;
const PackageDatabaseEntry * const db_entry;
+ /// Constructor
LicenceChecker(const Environment * const e, const PackageDatabaseEntry * const d) :
ok(true),
env(e),
@@ -232,9 +242,14 @@ Environment::package_set(const std::string & s) const
namespace
{
+ /**
+ * Find package targets that are appropriate for adding to or removing
+ * from the world file.
+ */
struct WorldTargetFinder :
DepAtomVisitorTypes::ConstVisitor
{
+ /// Matches
std::list<const PackageDepAtom *> items;
///\name Visit methods
diff --git a/paludis/environment.hh b/paludis/environment.hh
index 6f2502b..3b5b483 100644
--- a/paludis/environment.hh
+++ b/paludis/environment.hh
@@ -29,7 +29,7 @@
/** \file
* Declarations for the Environment class.
*
- * \ingroup Environment
+ * \ingroup grpenvironment
*/
namespace paludis
@@ -39,7 +39,7 @@ namespace paludis
* database and provides various methods for querying package visibility
* and options.
*
- * \ingroup Environment
+ * \ingroup grpenvironment
*/
class Environment :
private InstantiationPolicy<Environment, instantiation_method::NonCopyableTag>
@@ -119,15 +119,35 @@ namespace paludis
*/
virtual ~Environment();
+ /**
+ * Iterator over our provide map.
+ */
typedef std::map<QualifiedPackageName, QualifiedPackageName>::const_iterator ProvideMapIterator;
+ /**
+ * Iterator to the start of our provide map.
+ */
ProvideMapIterator begin_provide_map() const;
+ /**
+ * Iterator to past the end of our provide map.
+ */
ProvideMapIterator end_provide_map() const;
+ /**
+ * Fetch a named package set.
+ */
DepAtom::Pointer package_set(const std::string &) const;
+ /**
+ * Add packages to world, if they are not there already, and if they are
+ * not a restricted atom.
+ */
void add_appropriate_to_world(DepAtom::ConstPointer) const;
+
+ /**
+ * Remove packages from world, if they are there.
+ */
void remove_appropriate_from_world(DepAtom::ConstPointer) const;
};
}
diff --git a/paludis/fake_repository.cc b/paludis/fake_repository.cc
index d594b7b..64dcf9b 100644
--- a/paludis/fake_repository.cc
+++ b/paludis/fake_repository.cc
@@ -22,12 +22,20 @@
#include <paludis/util/stringify.hh>
#include <paludis/version_metadata.hh>
+/** \file
+ * Implementation for FakeRepository.
+ *
+ * \ingroup grpfakerepository
+ */
+
using namespace paludis;
namespace paludis
{
/**
* Implementation data for FakeRepository.
+ *
+ * \ingroup grpfakerepository
*/
template<>
struct Implementation<FakeRepository> :
diff --git a/paludis/fake_repository.hh b/paludis/fake_repository.hh
index 81dc4fd..7d1b153 100644
--- a/paludis/fake_repository.hh
+++ b/paludis/fake_repository.hh
@@ -26,7 +26,7 @@
/** \file
* Declarations for the FakeRepository class.
*
- * \ingroup Database
+ * \ingroup grpfakerepository
*/
namespace paludis
@@ -35,7 +35,7 @@ namespace paludis
* A FakeRepository is a Repository subclass that is used for
* various test cases.
*
- * \ingroup Database
+ * \ingroup grpfakerepository
*/
class FakeRepository : public Repository,
private PrivateImplementationPattern<FakeRepository>
diff --git a/paludis/hashed_containers.cc b/paludis/hashed_containers.cc
index 316a8ba..30f566a 100644
--- a/paludis/hashed_containers.cc
+++ b/paludis/hashed_containers.cc
@@ -19,6 +19,12 @@
#include "hashed_containers.hh"
+/** \file
+ * Implementation for hashed_containers.hh.
+ *
+ * \ingroup grphashedcontainers
+ */
+
using namespace paludis;
#if PALUDIS_HAVE_TR1_HASHES || PALUDIS_HAVE_EXT_HASHES || PALUDIS_HAVE_STD_HASHES
diff --git a/paludis/hashed_containers.hh.in b/paludis/hashed_containers.hh.in
index 26deda1..6021368 100644
--- a/paludis/hashed_containers.hh.in
+++ b/paludis/hashed_containers.hh.in
@@ -22,8 +22,33 @@
#ifndef PALUDIS_GUARD_PALUDIS_HASHED_CONTAINERS_HH
#define PALUDIS_GUARD_PALUDIS_HASHED_CONTAINERS_HH 1
+/** \file
+ * Declarations for the MakeHashedMap and MakeHashedSet classes, and related
+ * utilities.
+ *
+ * \ingroup grphashedcontainers
+ */
+
+/**
+ * Non-zero if we have std::tr1:: hashes (g++-4).
+ *
+ * \ingroup grphashedcontainers
+ */
#define PALUDIS_HAVE_TR1_HASHES @HAVE_TR1_HASHES@
+
+/**
+ * Non-zero if we have __gnu_cxx:: hashes under ext/ (g++-3).
+ *
+ * \ingroup grphashedcontainers
+ */
#define PALUDIS_HAVE_EXT_HASHES @HAVE_EXT_HASHES@
+
+
+/**
+ * Non-zero if we have std:: hashes (icc70).
+ *
+ * \ingroup grphashedcontainers
+ */
#define PALUDIS_HAVE_STD_HASHES @HAVE_STD_HASHES@
#include <paludis/name.hh>
@@ -50,11 +75,18 @@
namespace paludis
{
+ /**
+ * Hash function base template.
+ *
+ * \ingroup grphashedcontainers
+ */
template <typename T_>
struct CRCHash;
/**
* Make a hashed map of some kind from Key_ to Value_.
+ *
+ * \ingroup grphashedcontainers
*/
template <typename Key_, typename Value_>
struct MakeHashedMap
@@ -79,6 +111,8 @@ namespace paludis
/**
* Make a hashed set of some kind of Key_.
+ *
+ * \ingroup grphashedcontainers
*/
template <typename Key_>
struct MakeHashedSet
@@ -102,10 +136,12 @@ namespace paludis
};
#if PALUDIS_HAVE_TR1_HASHES || PALUDIS_HAVE_EXT_HASHES || PALUDIS_HAVE_STD_HASHES
- namespace
+ namespace hashed_containers_internals
{
/**
* Base definitions for our CRCHash.
+ *
+ * \ingroup grphashedcontainers
*/
struct CRCHashBase
{
@@ -119,11 +155,13 @@ namespace paludis
/**
* Hash, for QualifiedPackageName.
+ *
+ * \ingroup grphashedcontainers
*/
template <>
class CRCHash<QualifiedPackageName> :
public std::unary_function<QualifiedPackageName, std::size_t>,
- protected CRCHashBase
+ protected hashed_containers_internals::CRCHashBase
{
public:
/// Hash function.
@@ -145,11 +183,13 @@ namespace paludis
/**
* Hash, for a validated string type.
+ *
+ * \ingroup grphashedcontainers
*/
template <typename Validated_>
class CRCHash<Validated<std::string, Validated_> > :
public std::unary_function<Validated<std::string, Validated_>, std::size_t>,
- protected CRCHashBase
+ protected hashed_containers_internals::CRCHashBase
{
public:
/// Hash function.
@@ -173,11 +213,13 @@ namespace paludis
/**
* Hash, for a string.
+ *
+ * \ingroup grphashedcontainers
*/
template<>
class CRCHash<std::string> :
public std::unary_function<std::string, std::size_t>,
- protected CRCHashBase
+ protected hashed_containers_internals::CRCHashBase
{
public:
/// Hash function.
@@ -199,11 +241,13 @@ namespace paludis
/**
* Hash, for a QualifiedPackageName + VersionSpec pair.
+ *
+ * \ingroup grphashedcontainers
*/
template <>
class CRCHash<std::pair<QualifiedPackageName, VersionSpec> > :
public std::unary_function<std::pair<QualifiedPackageName, VersionSpec>, std::size_t>,
- protected CRCHashBase
+ protected hashed_containers_internals::CRCHashBase
{
public:
/// Hash function.
diff --git a/paludis/hashed_containers_TEST.cc b/paludis/hashed_containers_TEST.cc
index 8be8575..4de5cd9 100644
--- a/paludis/hashed_containers_TEST.cc
+++ b/paludis/hashed_containers_TEST.cc
@@ -29,7 +29,7 @@ namespace test_cases
/**
* \test Test HashSet.
*
- * \ingroup Test
+ * \ingroup grptestcases
*/
struct HashSetTestQPN : TestCase
{
diff --git a/paludis/mask_reasons.cc b/paludis/mask_reasons.cc
index b1081f6..d26dbc3 100644
--- a/paludis/mask_reasons.cc
+++ b/paludis/mask_reasons.cc
@@ -22,6 +22,12 @@
#include <paludis/util/exception.hh>
#include <ostream>
+/** \file
+ * Implementation of MaskReason classes.
+ *
+ * \ingroup grpmaskreasons
+ */
+
std::ostream &
paludis::operator<< (std::ostream & s, const MaskReason & r)
{
@@ -63,3 +69,4 @@ paludis::operator<< (std::ostream & s, const MaskReason & r)
return s;
}
+
diff --git a/paludis/mask_reasons.hh b/paludis/mask_reasons.hh
index 035ce22..da40443 100644
--- a/paludis/mask_reasons.hh
+++ b/paludis/mask_reasons.hh
@@ -23,11 +23,21 @@
#include <bitset>
#include <iosfwd>
+/** \file
+ * Declarations for MaskReasons and related classes.
+ *
+ * \ingroup grpmaskreasons
+ */
+
namespace paludis
{
/**
* Each value represents one reason for a package being
* masked.
+ *
+ * \see MaskReasons
+ *
+ * \ingroup grpmaskreasons
*/
enum MaskReason
{
@@ -43,11 +53,15 @@ namespace paludis
/**
* A collection of reasons for why a package is masked.
+ *
+ * \ingroup grpmaskreasons
*/
typedef std::bitset<last_mr> MaskReasons;
/**
- * Stringify.
+ * Stringify a MaskReason.
+ *
+ * \ingroup grpmaskreasons
*/
std::ostream &
operator<< (std::ostream &, const MaskReason &);
diff --git a/paludis/match_package.cc b/paludis/match_package.cc
index 78d31a8..daee034 100644
--- a/paludis/match_package.cc
+++ b/paludis/match_package.cc
@@ -1,7 +1,30 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
+/*
+ * Copyright (c) 2006 Ciaran McCreesh <ciaran.mccreesh@blueyonder.co.uk>
+ *
+ * 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
+ * Public License version 2, as published by the Free Software Foundation.
+ *
+ * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+ * Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
#include <paludis/match_package.hh>
+/** \file
+ * Implementation for match_package.hh.
+ *
+ * \ingroup grpmatchpackage
+ */
+
using namespace paludis;
bool
diff --git a/paludis/match_package.hh b/paludis/match_package.hh
index f1ca1b9..65bc79f 100644
--- a/paludis/match_package.hh
+++ b/paludis/match_package.hh
@@ -9,6 +9,8 @@
* Do not merge this file into dep_atom. It will cause all sorts of horrible
* circular dependency issues. Avoid including this file in headers if at all
* possible.
+ *
+ * \ingroup grpmatchpackage
*/
#include <paludis/dep_atom.hh>
@@ -20,11 +22,15 @@ namespace paludis
{
/**
* For internal use by match_package.
+ *
+ * \ingroup grpmatchpackage
*/
namespace match_package_internals
{
/**
* Do the match on a PackageDatabaseEntry.
+ *
+ * \ingroup grpmatchpackage
*/
bool do_match(
const PackageDatabase * const db,
@@ -34,6 +40,8 @@ namespace paludis
/**
* Do the match on a DepListEntry.
+ *
+ * \ingroup grpmatchpackage
*/
bool do_match(
const PackageDatabase * const db,
@@ -42,7 +50,9 @@ namespace paludis
PALUDIS_ATTRIBUTE((nonnull(2, 3)));
/**
- * Normalise type.
+ * Normalise DB type.
+ *
+ * \ingroup grpmatchpackage
*/
inline const PackageDatabase * sanitise_db(const PackageDatabase * db)
{
@@ -53,6 +63,8 @@ namespace paludis
* Normalise type.
*
* \deprecated Use sanitise_db(const PackageDatabase *) instead.
+ *
+ * \ingroup grpmatchpackage
*/
inline const PackageDatabase * sanitise_db(const PackageDatabase & db) PALUDIS_ATTRIBUTE((deprecated));
@@ -62,7 +74,9 @@ namespace paludis
}
/**
- * Normalise type.
+ * Normalise DB type.
+ *
+ * \ingroup grpmatchpackage
*/
template <typename P1_, typename P2_>
inline const PackageDatabase * sanitise_db(const CountedPtr<const PackageDatabase, P1_, P2_> db)
@@ -71,7 +85,9 @@ namespace paludis
}
/**
- * Normalise type.
+ * Normalise DB type.
+ *
+ * \ingroup grpmatchpackage
*/
inline const PackageDatabase * sanitise_db(const PackageDatabase::ConstPointer db)
{
@@ -79,7 +95,9 @@ namespace paludis
}
/**
- * Normalise type.
+ * Normalise atom type.
+ *
+ * \ingroup grpmatchpackage
*/
inline const PackageDepAtom * sanitise_atom(const PackageDepAtom * atom)
{
@@ -87,7 +105,9 @@ namespace paludis
}
/**
- * Normalise type.
+ * Normalise atom type.
+ *
+ * \ingroup grpmatchpackage
*/
inline const PackageDepAtom * sanitise_atom(const PackageDepAtom & atom)
{
@@ -95,7 +115,9 @@ namespace paludis
}
/**
- * Normalise type.
+ * Normalise atom type.
+ *
+ * \ingroup grpmatchpackage
*/
template <typename P1_, typename P2_>
inline const PackageDepAtom * sanitise_atom(const CountedPtr<const PackageDepAtom, P1_, P2_> atom)
@@ -104,7 +126,9 @@ namespace paludis
}
/**
- * Normalise type.
+ * Normalise target type.
+ *
+ * \ingroup grpmatchpackage
*/
template <typename T_>
inline const T_ * sanitise_target(const T_ * e)
@@ -113,7 +137,9 @@ namespace paludis
}
/**
- * Normalise type.
+ * Normalise target type.
+ *
+ * \ingroup grpmatchpackage
*/
template <typename T_>
inline const T_ * sanitise_target(const T_ & e)
@@ -123,7 +149,13 @@ namespace paludis
}
/**
- * Does the specified atom match the specified target?
+ * Return whether the specified atom matches the specified target.
+ *
+ * \param db Some kind of package database
+ * \param atom Some kind of package dep atom
+ * \param target Some kind of target
+ *
+ * \ingroup grpmatchpackage
*/
template <typename DB_, typename Atom_, typename Target_>
bool match_package(
diff --git a/paludis/name.cc b/paludis/name.cc
index 917172d..f8ab4a6 100644
--- a/paludis/name.cc
+++ b/paludis/name.cc
@@ -20,6 +20,12 @@
#include <paludis/name.hh>
#include <paludis/util/stringify.hh>
+/** \file
+ * Implementation of name.hh things.
+ *
+ * \ingroup grpnames
+ */
+
using namespace paludis;
QualifiedPackageNameError::QualifiedPackageNameError(const std::string & s) throw () :
diff --git a/paludis/name.hh b/paludis/name.hh
index 370b63d..ee51041 100644
--- a/paludis/name.hh
+++ b/paludis/name.hh
@@ -28,14 +28,20 @@
#include <paludis/util/collection.hh>
#include <paludis/util/validated.hh>
+/** \file
+ * Declarations for various Name classes.
+ *
+ * \ingroup grpnames
+ */
+
namespace paludis
{
/**
* A PackageNamePartError is thrown if an invalid value is assigned to
* a PackageNamePart.
*
- * \ingroup Database
- * \ingroup Exception
+ * \ingroup grpnames
+ * \ingroup grpexceptions
*/
class PackageNamePartError : public NameError
{
@@ -50,7 +56,7 @@ namespace paludis
* A PackageNamePartValidator handles validation rules for the value
* of a PackageNamePart.
*
- * \ingroup Database
+ * \ingroup grpnames
*/
struct PackageNamePartValidator :
private InstantiationPolicy<PackageNamePartValidator, instantiation_method::NonInstantiableTag>
@@ -66,14 +72,14 @@ namespace paludis
* A PackageNamePart holds a std::string that is a valid name for the
* category part of a QualifiedPackageName.
*
- * \ingroup Database
+ * \ingroup grpnames
*/
typedef Validated<std::string, PackageNamePartValidator> PackageNamePart;
/**
* Holds a set of PackageNamePart instances.
*
- * \ingroup Database
+ * \ingroup grpnames
*/
typedef SortedCollection<PackageNamePart> PackageNamePartCollection;
@@ -81,8 +87,8 @@ namespace paludis
* A CategoryNamePartError is thrown if an invalid value is assigned to
* a CategoryNamePart.
*
- * \ingroup Exception
- * \ingroup Database
+ * \ingroup grpexceptions
+ * \ingroup grpnames
*/
class CategoryNamePartError : public NameError
{
@@ -97,7 +103,7 @@ namespace paludis
* A CategoryNamePartValidator handles validation rules for the value
* of a CategoryNamePart.
*
- * \ingroup Database
+ * \ingroup grpnames
*/
struct CategoryNamePartValidator :
private InstantiationPolicy<CategoryNamePartValidator, instantiation_method::NonInstantiableTag>
@@ -113,19 +119,23 @@ namespace paludis
* A CategoryNamePart holds a std::string that is a valid name for the
* category part of a QualifiedPackageName.
*
- * \ingroup Database
+ * \ingroup grpnames
*/
typedef Validated<std::string, CategoryNamePartValidator> CategoryNamePart;
/**
* Holds a set of CategoryNamePart instances.
*
- * \ingroup Database
+ * \ingroup grpnames
*/
typedef SortedCollection<CategoryNamePart> CategoryNamePartCollection;
/**
* Keys for a QualifiedPackageName.
+ *
+ * \ingroup grpnames
+ *
+ * \see QualifiedPackageName
*/
enum QualifiedPackageNameKeys
{
@@ -136,6 +146,10 @@ namespace paludis
/**
* Tags for a QualifiedPackageName.
+ *
+ * \ingroup grpnames
+ *
+ * \see QualifiedPackageName
*/
struct QualifiedPackageNameTag :
SmartRecordTag<comparison_mode::FullComparisonTag, comparison_method::SmartRecordCompareByAllTag>,
@@ -148,6 +162,8 @@ namespace paludis
/**
* A QualifiedPackageName instance holds a CategoryNamePart and
* a PackageNamePart.
+ *
+ * \ingroup grpnames
*/
class QualifiedPackageName :
public MakeSmartRecord<QualifiedPackageNameTag>::Type
@@ -193,11 +209,15 @@ namespace paludis
/**
* Output a QualifiedPackageName to a stream.
+ *
+ * \ingroup grpnames
*/
std::ostream & operator<< (std::ostream &, const QualifiedPackageName &);
/**
* Holds a collection of QualifiedPackageName instances.
+ *
+ * \ingroup grpnames
*/
typedef SortedCollection<QualifiedPackageName> QualifiedPackageNameCollection;
@@ -205,6 +225,9 @@ namespace paludis
* A QualifiedPackageNameError may be thrown if an invalid name is
* assigned to a QualifiedPackageName (alternatively, the exception
* raised may be a PackageNamePartError or a CategoryNamePartError).
+ *
+ * \ingroup grpnames
+ * \ingroup grpexceptions
*/
class QualifiedPackageNameError : public NameError
{
@@ -218,6 +241,8 @@ namespace paludis
/**
* Convenience operator to make a QualifiedPackageName from a
* PackageNamePart and a CategoryNamePart.
+ *
+ * \ingroup grpnames
*/
inline const QualifiedPackageName
operator+ (const CategoryNamePart & c, const PackageNamePart & p)
@@ -229,8 +254,8 @@ namespace paludis
* A UseFlagNameError is thrown if an invalid value is assigned to
* a UseFlagName.
*
- * \ingroup Database
- * \ingroup Exception
+ * \ingroup grpnames
+ * \ingroup grpexceptions
*/
class UseFlagNameError : public NameError
{
@@ -245,7 +270,7 @@ namespace paludis
* A UseFlagNameValidator handles validation rules for the value of a
* UseFlagName.
*
- * \ingroup Database
+ * \ingroup grpnames
*/
struct UseFlagNameValidator :
private InstantiationPolicy<UseFlagNameValidator, instantiation_method::NonInstantiableTag>
@@ -260,18 +285,23 @@ namespace paludis
/**
* A UseFlagName holds a std::string that is a valid name for a USE flag.
*
- * \ingroup Database
+ * \ingroup grpnames
*/
typedef Validated<std::string, UseFlagNameValidator> UseFlagName;
+ /**
+ * A collection of UseFlagName instances.
+ *
+ * \ingroup grpnames
+ */
typedef SortedCollection<UseFlagName> UseFlagNameCollection;
/**
* A SlotNameError is thrown if an invalid value is assigned to
* a SlotName.
*
- * \ingroup Database
- * \ingroup Exception
+ * \ingroup grpnames
+ * \ingroup grpexceptions
*/
class SlotNameError : public NameError
{
@@ -286,7 +316,7 @@ namespace paludis
* A SlotNameValidator handles validation rules for the value of a
* SlotName.
*
- * \ingroup Database
+ * \ingroup grpnames
*/
struct SlotNameValidator :
private InstantiationPolicy<SlotNameValidator, instantiation_method::NonInstantiableTag>
@@ -301,7 +331,7 @@ namespace paludis
/**
* A SlotName holds a std::string that is a valid name for a SLOT.
*
- * \ingroup Database
+ * \ingroup grpnames
*/
typedef Validated<std::string, SlotNameValidator> SlotName;
@@ -309,8 +339,8 @@ namespace paludis
* A RepositoryNameError is thrown if an invalid value is assigned to
* a RepositoryName.
*
- * \ingroup Exception
- * \ingroup Database
+ * \ingroup grpexceptions
+ * \ingroup grpnames
*/
class RepositoryNameError : public NameError
{
@@ -325,7 +355,7 @@ namespace paludis
* A RepositoryNameValidator handles validation rules for the value
* of a RepositoryName.
*
- * \ingroup Database
+ * \ingroup grpnames
*/
struct RepositoryNameValidator :
private InstantiationPolicy<RepositoryNameValidator, instantiation_method::NonInstantiableTag>
@@ -341,12 +371,14 @@ namespace paludis
* A RepositoryNamePart holds a std::string that is a valid name for a
* Repository.
*
- * \ingroup Database
+ * \ingroup grpnames
*/
typedef Validated<std::string, RepositoryNameValidator> RepositoryName;
/**
* Holds a collection of RepositoryName instances.
+ *
+ * \ingroup grpnames
*/
typedef SequentialCollection<RepositoryName> RepositoryNameCollection;
@@ -354,7 +386,7 @@ namespace paludis
* A KeywordNameValidator handles validation rules for the value of a
* UseFlagName.
*
- * \ingroup Environment
+ * \ingroup grpnames
*/
struct KeywordNameValidator :
private InstantiationPolicy<KeywordNameValidator, instantiation_method::NonInstantiableTag>
@@ -370,8 +402,8 @@ namespace paludis
* A KeywordNameError is thrown if an invalid value is assigned to
* a KeywordNameName.
*
- * \ingroup Environment
- * \ingroup Exception
+ * \ingroup grpnames
+ * \ingroup grpexceptions
*/
class KeywordNameError : public NameError
{
@@ -385,12 +417,14 @@ namespace paludis
/**
* A KeywordName holds a std::string that is a valid name for a KEYWORD.
*
- * \ingroup Database
+ * \ingroup grpnames
*/
typedef Validated<std::string, KeywordNameValidator> KeywordName;
/**
* A USE flag can be on, off or unspecified.
+ *
+ * \ingroup grpnames
*/
enum UseFlagState
{
diff --git a/paludis/name_TEST.cc b/paludis/name_TEST.cc
index 35a97c4..c3a9e5a 100644
--- a/paludis/name_TEST.cc
+++ b/paludis/name_TEST.cc
@@ -28,7 +28,7 @@ using namespace paludis;
/** \file
* Test cases for QualifiedPackageName.
*
- * \ingroup Test
+ * \ingroup grptestcases
*/
namespace test_cases
@@ -36,7 +36,7 @@ namespace test_cases
/**
* \test Basic QualifiedPackageName tests.
*
- * \ingroup Test
+ * \ingroup grptestcases
*/
struct QualifiedPackageNameTest : TestCase
{
@@ -52,7 +52,7 @@ namespace test_cases
/**
* \test Validate QualifiedPackageName tests.
*
- * \ingroup Test
+ * \ingroup grptestcases
*/
struct QualifiedPackageNameValidateTest : TestCase
{
@@ -70,7 +70,7 @@ namespace test_cases
/**
* \test Compare QualifiedPackageName tests.
*
- * \ingroup Test
+ * \ingroup grptestcases
*/
struct QualifiedPackageNameCompareTest : TestCase
{
@@ -101,7 +101,7 @@ namespace test_cases
/**
* \test Test CategoryNamePart creation.
*
- * \ingroup Test
+ * \ingroup grptestcases
*/
struct CategoryNamePartCreationTest : public TestCase
{
@@ -117,7 +117,7 @@ namespace test_cases
/**
* \test Test CategoryNamePart validation
*
- * \ingroup Test
+ * \ingroup grptestcases
*/
struct CategoryNamePartValidationTest : public TestCase
{
@@ -136,7 +136,7 @@ namespace test_cases
/**
* \test Test PackageNamePart creation.
*
- * \ingroup Test
+ * \ingroup grptestcases
*/
struct PackageNamePartCreationTest : public TestCase
{
@@ -152,7 +152,7 @@ namespace test_cases
/**
* \test Test PackageNamePart validation.
*
- * \ingroup Test
+ * \ingroup grptestcases
*/
struct PackageNamePartValidationTest : public TestCase
{
@@ -171,7 +171,7 @@ namespace test_cases
/**
* \test Test PackageNamePart comparison.
*
- * \ingroup Test
+ * \ingroup grptestcases
*/
struct PackageNamePartComparisonTest : public TestCase
{