/* vim: set ft=cpp tw=80 sw=4 et : */ using namespace paludis; /** \defgroup g_paludis Paludis * * Paludis public API. */ /** \defgroup g_about About * * \ingroup g_paludis * * Information about Paludis (version, build options etc). * * \section Examples * * - \ref example_about.cc "example_about.cc" */ /** \defgroup g_actions Actions * * \ingroup g_package_id * * Action-related classes are used to provide the information needed by a * PackageID to perform operations such as installing, uninstalling and fetching. * * \section Examples * * - \ref example_action.cc "example_action.cc" */ /** \defgroup g_choices Choices * * \ingroup g_package_id * * Choices represent things like USE flags, the various USE_EXPAND values * (LINGUAS, VIDEO_CARDS etc) and fancy things like build_options. * * \since 0.32 * * \section Examples * * - None at this time. */ /** \defgroup g_contents Contents * * \ingroup g_metadata_key * * Contents heirarchies can be used to iterate over the content of an installed * or binary package. * * \section Examples * * - \ref example_contents.cc "example_contents.cc" */ /** \defgroup g_literal_metadata_key Literal Metadata Keys * * \ingroup g_metadata_key * * Implementations of MetadataKey subclasses where the value is a literal string * known at construction time. */ /** \defgroup g_dep_spec Dependency specifications * * \ingroup g_paludis * * Dependency specification classes provide an abstraction representing * dependency and dependency-like (for example, SRC_URI, RESTRICT) * heirarchies. * * \section Examples * * - \ref example_dep_label.cc "example_dep_label.cc" * - \ref example_dep_spec.cc "example_dep_spec.cc" * - \ref example_dep_tag.cc "example_dep_tag.cc" * - \ref example_dep_tree.cc "example_dep_tree.cc" * - \ref example_dep_spec_flattener.cc "example_dep_spec_flattener.cc" */ /** \defgroup g_environment Environment * * \ingroup g_paludis * * An Environment subclass is the starting point for most programs. For programs * that use user configuration, EnvironmentMaker is used to obtain an instance. * For programs that operate without configuration, NoConfigEnvironment should * be used instead. * * \section Examples * * - \ref example_environment.cc "example_environment.cc" * - \ref example_selection.cc "example_selection.cc" */ /** \defgroup g_exceptions Exceptions * * Exceptions and related utility classes. * * \ingroup g_paludis */ /** \defgroup g_formatters Formatters * * \ingroup g_metadata_key * * Formatters are used in various places (such as MetadataKey pretty_print methods) * to apply user-defined formatting to parts of text generated for display. They * allow clients to, for example, display accepted and unaccepted use flag names * in different colours, without needing to rewrite the entire pretty printing * system. * * \section Examples * * - \ref example_formatter.cc "example_formatter.cc" * - \ref example_stringify_formatter.cc "example_stringify_formatter.cc" */ /** \defgroup g_package_id Package IDs * * \ingroup g_paludis * * A PackageID represents a particular package version in a Repository. It has * various pieces of associated information, including a name, a version, an * owning repository, a slot, a collection of metadata keys and a collection of * masks. * * \section Examples * * - \ref example_package_id.cc "example_package_id.cc" * - \ref example_action.cc "example_action.cc" * - \ref example_mask.cc "example_mask.cc" * - \ref example_metadata_key.cc "example_metadata_key.cc" */ /** \defgroup g_mask Masks * * \ingroup g_package_id * * A mask represents one reason why a PackageID is masked (not installable). * * \section Examples * * - \ref example_mask.cc "example_mask.cc" */ /** \defgroup g_metadata_key Metadata Keys * * \ingroup g_package_id * * A metadata key hold a piece of information about a PackageID. * * \section Examples * * - \ref example_metadata_key.cc "example_metadata_key.cc" */ /** \defgroup g_repository Repository * * \ingroup g_paludis * * A Repository subclass represents a repository that holds a collection of * packages. * * \section Examples * * - \ref example_repository.cc "example_repository.cc" */ /** \defgroup g_package_database Package Database * * \ingroup g_paludis * * A PackageDatabase, which is owned by an Environment, contains a number of * Repository instances. * * \section Examples * * - \ref example_package_database.cc "example_package_database.cc" */ /** \defgroup g_names Names and Versions * * \ingroup g_paludis * * Paludis uses 'smart' classes for holding names and versions, allowing for * substantially more static checking and much more convenient and useful * runtime checking of data. * * \section Examples * * - \ref example_name.cc "example_name.cc" * - \ref example_version_spec.cc "example_version_spec.cc" * - \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. */ /** \defgroup g_threads Threads * * \ingroup g_utils * * Paludis includes some basic thread classes. * * \section Examples * * - None at this time. */