paludis  Version 2.6.0
dep_label-fwd.hh
Go to the documentation of this file.
1 /* vim: set sw=4 sts=4 et foldmethod=syntax : */
2 
3 /*
4  * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
5  *
6  * This file is part of the Paludis package manager. Paludis is free software;
7  * you can redistribute it and/or modify it under the terms of the GNU General
8  * Public License version 2, as published by the Free Software Foundation.
9  *
10  * Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
11  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
13  * details.
14  *
15  * You should have received a copy of the GNU General Public License along with
16  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
17  * Place, Suite 330, Boston, MA 02111-1307 USA
18  */
19 
20 #ifndef PALUDIS_GUARD_PALUDIS_DEP_LABEL_FWD_HH
21 #define PALUDIS_GUARD_PALUDIS_DEP_LABEL_FWD_HH 1
22 
25 #include <memory>
26 #include <iosfwd>
27 
28 /** \file
29  * Forward declarations for paludis/dep_label.hh .
30  *
31  * \ingroup g_dep_spec
32  */
33 
34 namespace paludis
35 {
36  class URILabel;
37 
38  template <typename T_> class SpecificURILabel;
39 
40  struct URIMirrorsThenListedLabelTag;
42 
43  struct URIMirrorsOnlyLabelTag;
45 
46  struct URIListedOnlyLabelTag;
48 
49  struct URIListedThenMirrorsLabelTag;
51 
52  struct URILocalMirrorsOnlyLabelTag;
54 
55  struct URIManualOnlyLabelTag;
57 
58  /**
59  * A URILabel can be written to a stream.
60  *
61  * \ingroup g_dep_spec
62  * \since 0.26
63  */
64  std::ostream & operator<< (std::ostream &, const URILabel &) PALUDIS_VISIBLE;
65 
66  class DependenciesLabel;
67 
68  template <typename>
70 
71  /**
72  * Tag for DependenciesBuildLabel.
73  *
74  * \since 0.42
75  * \ingroup g_dep_spec
76  */
77  struct DependenciesBuildLabelTag;
78 
79  /**
80  * Dependencies label.
81  *
82  * \since 0.42
83  * \ingroup g_dep_spec
84  */
85  typedef SpecificDependenciesLabel<DependenciesBuildLabelTag> DependenciesBuildLabel;
86 
87  /**
88  * Tag for DependenciesRunLabel.
89  *
90  * \since 0.42
91  * \ingroup g_dep_spec
92  */
93  struct DependenciesRunLabelTag;
94 
95  /**
96  * Dependencies label.
97  *
98  * \since 0.42
99  * \ingroup g_dep_spec
100  */
101  typedef SpecificDependenciesLabel<DependenciesRunLabelTag> DependenciesRunLabel;
102 
103  /**
104  * Tag for DependenciesPostLabel.
105  *
106  * \since 0.42
107  * \ingroup g_dep_spec
108  */
109  struct DependenciesPostLabelTag;
110 
111  /**
112  * Dependencies label.
113  *
114  * \since 0.42
115  * \ingroup g_dep_spec
116  */
117  typedef SpecificDependenciesLabel<DependenciesPostLabelTag> DependenciesPostLabel;
118 
119  /**
120  * Tag for DependenciesCompileAgainstLabel.
121  *
122  * \since 0.42
123  * \ingroup g_dep_spec
124  */
125  struct DependenciesCompileAgainstLabelTag;
126 
127  /**
128  * Dependencies label.
129  *
130  * \since 0.42
131  * \ingroup g_dep_spec
132  */
133  typedef SpecificDependenciesLabel<DependenciesCompileAgainstLabelTag> DependenciesCompileAgainstLabel;
134 
135  /**
136  * Tag for DependenciesFetchLabel.
137  *
138  * \since 0.42
139  * \ingroup g_dep_spec
140  */
141  struct DependenciesFetchLabelTag;
142 
143  /**
144  * Dependencies label.
145  *
146  * \since 0.42
147  * \ingroup g_dep_spec
148  */
149  typedef SpecificDependenciesLabel<DependenciesFetchLabelTag> DependenciesFetchLabel;
150 
151  /**
152  * Tag for DependenciesInstallLabel.
153  *
154  * \since 0.42
155  * \ingroup g_dep_spec
156  */
157  struct DependenciesInstallLabelTag;
158 
159  /**
160  * Dependencies label.
161  *
162  * \since 0.42
163  * \ingroup g_dep_spec
164  */
165  typedef SpecificDependenciesLabel<DependenciesInstallLabelTag> DependenciesInstallLabel;
166 
167  /**
168  * Tag for DependenciesSuggestionLabel.
169  *
170  * \since 0.42
171  * \ingroup g_dep_spec
172  */
173  struct DependenciesSuggestionLabelTag;
174 
175  /**
176  * Dependencies label.
177  *
178  * \since 0.42
179  * \ingroup g_dep_spec
180  */
181  typedef SpecificDependenciesLabel<DependenciesSuggestionLabelTag> DependenciesSuggestionLabel;
182 
183  /**
184  * Tag for DependenciesRecommendationLabel.
185  *
186  * \since 0.42
187  * \ingroup g_dep_spec
188  */
189  struct DependenciesRecommendationLabelTag;
190 
191  /**
192  * Dependencies label.
193  *
194  * \since 0.42
195  * \ingroup g_dep_spec
196  */
197  typedef SpecificDependenciesLabel<DependenciesRecommendationLabelTag> DependenciesRecommendationLabel;
198 
199  /**
200  * Tag for DependenciesTestLabel.
201  *
202  * \since 0.42
203  * \ingroup g_dep_spec
204  */
205  struct DependenciesTestLabelTag;
206 
207  /**
208  * Dependencies label.
209  *
210  * \since 0.42
211  * \ingroup g_dep_spec
212  */
213  typedef SpecificDependenciesLabel<DependenciesTestLabelTag> DependenciesTestLabel;
214 
215  /**
216  * A collection of DependencyLabel instances.
217  *
218  * \ingroup g_dep_spec
219  * \since 0.42
220  */
221  typedef Sequence<std::shared_ptr<const DependenciesLabel> > DependenciesLabelSequence;
222 
223  /**
224  * A DependenciesLabel can be written to a stream.
225  *
226  * \ingroup g_dep_spec
227  * \since 0.42
228  */
229  std::ostream & operator<< (std::ostream &, const DependenciesLabel &) PALUDIS_VISIBLE;
230 }
231 
232 #endif
Definition: about_metadata-fwd.hh:23
STL namespace.
Definition: dep_label-fwd.hh:38
Definition: sequence-fwd.hh:32
std::ostream & operator<<(std::ostream &, const WantPhase &) PALUDIS_VISIBLE
Definition: dep_label.hh:55
Definition: dep_label.hh:112
Definition: dep_label-fwd.hh:69
#define PALUDIS_VISIBLE
Definition: attributes.hh:59