Exheredludis/paludis/dep_label-fwd.hh

233 lines
5.6 KiB
C++
Raw Normal View History

/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
2010-12-28 23:51:52 +01:00
* Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
*
* 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
*/
#ifndef PALUDIS_GUARD_PALUDIS_DEP_LABEL_FWD_HH
#define PALUDIS_GUARD_PALUDIS_DEP_LABEL_FWD_HH 1
#include <paludis/util/attributes.hh>
2007-12-16 19:42:47 +01:00
#include <paludis/util/sequence-fwd.hh>
2010-07-22 11:11:47 +02:00
#include <memory>
#include <iosfwd>
/** \file
* Forward declarations for paludis/dep_label.hh .
*
* \ingroup g_dep_spec
*/
namespace paludis
{
class URILabel;
template <typename T_> class SpecificURILabel;
struct URIMirrorsThenListedLabelTag;
2010-12-28 23:51:52 +01:00
typedef SpecificURILabel<URIMirrorsThenListedLabelTag> URIMirrorsThenListedLabel;
struct URIMirrorsOnlyLabelTag;
2010-12-28 23:51:52 +01:00
typedef SpecificURILabel<URIMirrorsOnlyLabelTag> URIMirrorsOnlyLabel;
struct URIListedOnlyLabelTag;
2010-12-28 23:51:52 +01:00
typedef SpecificURILabel<URIListedOnlyLabelTag> URIListedOnlyLabel;
struct URIListedThenMirrorsLabelTag;
2010-12-28 23:51:52 +01:00
typedef SpecificURILabel<URIListedThenMirrorsLabelTag> URIListedThenMirrorsLabel;
struct URILocalMirrorsOnlyLabelTag;
2010-12-28 23:51:52 +01:00
typedef SpecificURILabel<URILocalMirrorsOnlyLabelTag> URILocalMirrorsOnlyLabel;
struct URIManualOnlyLabelTag;
2010-12-28 23:51:52 +01:00
typedef SpecificURILabel<URIManualOnlyLabelTag> URIManualOnlyLabel;
/**
* A URILabel can be written to a stream.
*
* \ingroup g_dep_spec
* \since 0.26
*/
std::ostream & operator<< (std::ostream &, const URILabel &) PALUDIS_VISIBLE;
class DependenciesLabel;
2009-10-09 19:12:57 +02:00
template <typename>
class SpecificDependenciesLabel;
2007-12-16 19:42:47 +01:00
/**
2009-10-09 19:12:57 +02:00
* Tag for DependenciesBuildLabel.
2007-12-16 19:42:47 +01:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-12-16 19:42:47 +01:00
* \ingroup g_dep_spec
*/
2009-10-09 19:12:57 +02:00
struct DependenciesBuildLabelTag;
2007-12-16 19:42:47 +01:00
/**
2009-10-09 19:12:57 +02:00
* Dependencies label.
2007-12-16 19:42:47 +01:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-12-16 19:42:47 +01:00
* \ingroup g_dep_spec
*/
2010-12-28 23:51:52 +01:00
typedef SpecificDependenciesLabel<DependenciesBuildLabelTag> DependenciesBuildLabel;
2007-12-16 19:42:47 +01:00
/**
2009-10-09 19:12:57 +02:00
* Tag for DependenciesRunLabel.
2007-12-16 19:42:47 +01:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-12-16 19:42:47 +01:00
* \ingroup g_dep_spec
*/
2009-10-09 19:12:57 +02:00
struct DependenciesRunLabelTag;
2007-12-16 19:42:47 +01:00
/**
2009-10-09 19:12:57 +02:00
* Dependencies label.
2007-12-16 19:42:47 +01:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-12-16 19:42:47 +01:00
* \ingroup g_dep_spec
*/
2010-12-28 23:51:52 +01:00
typedef SpecificDependenciesLabel<DependenciesRunLabelTag> DependenciesRunLabel;
2007-10-02 16:50:36 +02:00
/**
2009-10-09 19:12:57 +02:00
* Tag for DependenciesPostLabel.
2007-10-02 16:50:36 +02:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-10-02 16:50:36 +02:00
* \ingroup g_dep_spec
*/
2009-10-09 19:12:57 +02:00
struct DependenciesPostLabelTag;
2007-10-02 16:50:36 +02:00
/**
2009-10-09 19:12:57 +02:00
* Dependencies label.
2007-10-02 16:50:36 +02:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-10-02 16:50:36 +02:00
* \ingroup g_dep_spec
*/
2010-12-28 23:51:52 +01:00
typedef SpecificDependenciesLabel<DependenciesPostLabelTag> DependenciesPostLabel;
2007-10-02 16:50:36 +02:00
/**
2009-10-09 19:12:57 +02:00
* Tag for DependenciesCompileAgainstLabel.
2007-10-02 16:50:36 +02:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-10-02 16:50:36 +02:00
* \ingroup g_dep_spec
*/
2009-10-09 19:12:57 +02:00
struct DependenciesCompileAgainstLabelTag;
2007-10-02 16:50:36 +02:00
/**
2009-10-09 19:12:57 +02:00
* Dependencies label.
2007-10-02 16:50:36 +02:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-10-02 16:50:36 +02:00
* \ingroup g_dep_spec
*/
2010-12-28 23:51:52 +01:00
typedef SpecificDependenciesLabel<DependenciesCompileAgainstLabelTag> DependenciesCompileAgainstLabel;
2007-12-16 19:42:47 +01:00
/**
2009-10-09 19:12:57 +02:00
* Tag for DependenciesFetchLabel.
2007-12-16 19:42:47 +01:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-12-16 19:42:47 +01:00
* \ingroup g_dep_spec
*/
2009-10-09 19:12:57 +02:00
struct DependenciesFetchLabelTag;
2007-10-02 16:50:36 +02:00
/**
2009-10-09 19:12:57 +02:00
* Dependencies label.
2007-10-02 16:50:36 +02:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-10-02 16:50:36 +02:00
* \ingroup g_dep_spec
*/
2010-12-28 23:51:52 +01:00
typedef SpecificDependenciesLabel<DependenciesFetchLabelTag> DependenciesFetchLabel;
2007-10-02 16:50:36 +02:00
/**
2009-10-09 19:12:57 +02:00
* Tag for DependenciesInstallLabel.
2007-10-02 16:50:36 +02:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-10-02 16:50:36 +02:00
* \ingroup g_dep_spec
*/
2009-10-09 19:12:57 +02:00
struct DependenciesInstallLabelTag;
2007-10-02 16:50:36 +02:00
/**
2009-10-09 19:12:57 +02:00
* Dependencies label.
2007-10-02 16:50:36 +02:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-10-02 16:50:36 +02:00
* \ingroup g_dep_spec
*/
2010-12-28 23:51:52 +01:00
typedef SpecificDependenciesLabel<DependenciesInstallLabelTag> DependenciesInstallLabel;
2007-10-02 16:50:36 +02:00
/**
2009-10-09 19:12:57 +02:00
* Tag for DependenciesSuggestionLabel.
2007-10-02 16:50:36 +02:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-10-02 16:50:36 +02:00
* \ingroup g_dep_spec
*/
2009-10-09 19:12:57 +02:00
struct DependenciesSuggestionLabelTag;
2007-10-02 16:50:36 +02:00
/**
2009-10-09 19:12:57 +02:00
* Dependencies label.
2007-10-02 16:50:36 +02:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-10-02 16:50:36 +02:00
* \ingroup g_dep_spec
*/
2010-12-28 23:51:52 +01:00
typedef SpecificDependenciesLabel<DependenciesSuggestionLabelTag> DependenciesSuggestionLabel;
2007-10-02 16:50:36 +02:00
/**
2009-10-09 19:12:57 +02:00
* Tag for DependenciesRecommendationLabel.
2007-10-02 16:50:36 +02:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-10-02 16:50:36 +02:00
* \ingroup g_dep_spec
*/
2009-10-09 19:12:57 +02:00
struct DependenciesRecommendationLabelTag;
2007-10-02 16:50:36 +02:00
/**
2009-10-09 19:12:57 +02:00
* Dependencies label.
2007-10-02 16:50:36 +02:00
*
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-10-02 16:50:36 +02:00
* \ingroup g_dep_spec
*/
2010-12-28 23:51:52 +01:00
typedef SpecificDependenciesLabel<DependenciesRecommendationLabelTag> DependenciesRecommendationLabel;
2007-10-02 16:50:36 +02:00
2009-10-10 23:53:43 +02:00
/**
* Tag for DependenciesTestLabel.
*
* \since 0.42
* \ingroup g_dep_spec
*/
struct DependenciesTestLabelTag;
/**
* Dependencies label.
*
* \since 0.42
* \ingroup g_dep_spec
*/
2010-12-28 23:51:52 +01:00
typedef SpecificDependenciesLabel<DependenciesTestLabelTag> DependenciesTestLabel;
2009-10-10 23:53:43 +02:00
2007-10-02 16:50:36 +02:00
/**
2009-10-09 19:12:57 +02:00
* A collection of DependencyLabel instances.
2007-10-02 16:50:36 +02:00
*
* \ingroup g_dep_spec
2009-10-09 19:12:57 +02:00
* \since 0.42
2007-10-02 16:50:36 +02:00
*/
2010-07-22 11:11:47 +02:00
typedef Sequence<std::shared_ptr<const DependenciesLabel> > DependenciesLabelSequence;
/**
2009-10-09 19:12:57 +02:00
* A DependenciesLabel can be written to a stream.
*
* \ingroup g_dep_spec
2009-10-09 19:12:57 +02:00
* \since 0.42
*/
2009-10-09 19:12:57 +02:00
std::ostream & operator<< (std::ostream &, const DependenciesLabel &) PALUDIS_VISIBLE;
}
#endif