2007-07-24 15:34:29 +02:00
|
|
|
/* 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
|
2007-07-24 15:34:29 +02:00
|
|
|
*
|
|
|
|
* 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>
|
2007-07-24 15:34:29 +02:00
|
|
|
#include <iosfwd>
|
|
|
|
|
2007-09-27 00:16:54 +02:00
|
|
|
/** \file
|
|
|
|
* Forward declarations for paludis/dep_label.hh .
|
|
|
|
*
|
|
|
|
* \ingroup g_dep_spec
|
|
|
|
*/
|
|
|
|
|
2007-07-24 15:34:29 +02:00
|
|
|
namespace paludis
|
|
|
|
{
|
2013-02-25 04:18:18 +01:00
|
|
|
class URILabel;
|
2007-07-24 15:34:29 +02:00
|
|
|
|
2013-02-25 04:18:18 +01:00
|
|
|
template <typename T_> class SpecificURILabel;
|
2007-11-09 11:30:43 +01:00
|
|
|
|
|
|
|
struct URIMirrorsThenListedLabelTag;
|
2010-12-28 23:51:52 +01:00
|
|
|
typedef SpecificURILabel<URIMirrorsThenListedLabelTag> URIMirrorsThenListedLabel;
|
2007-11-09 11:30:43 +01:00
|
|
|
|
|
|
|
struct URIMirrorsOnlyLabelTag;
|
2010-12-28 23:51:52 +01:00
|
|
|
typedef SpecificURILabel<URIMirrorsOnlyLabelTag> URIMirrorsOnlyLabel;
|
2007-11-09 11:30:43 +01:00
|
|
|
|
|
|
|
struct URIListedOnlyLabelTag;
|
2010-12-28 23:51:52 +01:00
|
|
|
typedef SpecificURILabel<URIListedOnlyLabelTag> URIListedOnlyLabel;
|
2007-11-09 11:30:43 +01:00
|
|
|
|
|
|
|
struct URIListedThenMirrorsLabelTag;
|
2010-12-28 23:51:52 +01:00
|
|
|
typedef SpecificURILabel<URIListedThenMirrorsLabelTag> URIListedThenMirrorsLabel;
|
2007-11-09 11:30:43 +01:00
|
|
|
|
|
|
|
struct URILocalMirrorsOnlyLabelTag;
|
2010-12-28 23:51:52 +01:00
|
|
|
typedef SpecificURILabel<URILocalMirrorsOnlyLabelTag> URILocalMirrorsOnlyLabel;
|
2007-11-09 11:30:43 +01:00
|
|
|
|
|
|
|
struct URIManualOnlyLabelTag;
|
2010-12-28 23:51:52 +01:00
|
|
|
typedef SpecificURILabel<URIManualOnlyLabelTag> URIManualOnlyLabel;
|
2007-07-24 15:34:29 +02:00
|
|
|
|
2007-09-27 00:16:54 +02:00
|
|
|
/**
|
|
|
|
* A URILabel can be written to a stream.
|
|
|
|
*
|
|
|
|
* \ingroup g_dep_spec
|
|
|
|
* \since 0.26
|
|
|
|
*/
|
2007-07-24 15:34:29 +02:00
|
|
|
std::ostream & operator<< (std::ostream &, const URILabel &) PALUDIS_VISIBLE;
|
2007-09-07 22:53:51 +02:00
|
|
|
|
2013-02-25 04:18:18 +01:00
|
|
|
class DependenciesLabel;
|
2007-09-07 22:53:51 +02:00
|
|
|
|
2009-10-09 19:12:57 +02:00
|
|
|
template <typename>
|
2013-02-25 04:18:18 +01:00
|
|
|
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-11-09 11:30:43 +01:00
|
|
|
|
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;
|
2007-09-07 22:53:51 +02:00
|
|
|
|
2007-09-27 00:16:54 +02:00
|
|
|
/**
|
2009-10-09 19:12:57 +02:00
|
|
|
* A DependenciesLabel can be written to a stream.
|
2007-09-27 00:16:54 +02:00
|
|
|
*
|
|
|
|
* \ingroup g_dep_spec
|
2009-10-09 19:12:57 +02:00
|
|
|
* \since 0.42
|
2007-09-27 00:16:54 +02:00
|
|
|
*/
|
2009-10-09 19:12:57 +02:00
|
|
|
std::ostream & operator<< (std::ostream &, const DependenciesLabel &) PALUDIS_VISIBLE;
|
2007-07-24 15:34:29 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|