paludis  Version 1.4.2
dep_spec-fwd.hh
Go to the documentation of this file.
1 /* vim: set sw=4 sts=4 et foldmethod=syntax : */
2 
3 /*
4  * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 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_SPEC_FWD_HH
21 #define PALUDIS_GUARD_PALUDIS_DEP_SPEC_FWD_HH 1
22 
24 #include <paludis/dep_label-fwd.hh>
25 #include <iosfwd>
26 
27 /** \file
28  * Forward declarations for paludis/dep_spec.hh .
29  *
30  * \ingroup g_dep_spec
31  */
32 
33 namespace paludis
34 {
35  class DepSpec;
36  class PackageDepSpec;
37  class PlainTextDepSpec;
38  class LicenseDepSpec;
39  class FetchableURIDepSpec;
40  class SimpleURIDepSpec;
41  class AllDepSpec;
42  class ExactlyOneDepSpec;
43  class AnyDepSpec;
44  class AtMostOneDepSpec;
45  class ConditionalDepSpec;
46  class BlockDepSpec;
47  class StringDepSpec;
48  class NamedSetDepSpec;
49  class PlainTextLabelDepSpec;
50  template <typename T_> class LabelsDepSpec;
51 
52  /**
53  * A URILabelsDepSpec represents labels in a FetchableURISpecTree.
54  *
55  * \ingroup g_dep_spec
56  * \since 0.26
57  */
59 
60  /**
61  * A DependenciesLabelsDepSpec represents labels in a DependenciesSpecTree.
62  *
63  * \ingroup g_dep_spec
64  * \since 0.42
65  */
67 
69  struct InstallableToPath;
70 
71  /**
72  * A PlainTextDepSpec can be written to an ostream.
73  *
74  * \ingroup g_dep_spec
75  */
76  std::ostream & operator<< (std::ostream &, const PlainTextDepSpec &) PALUDIS_VISIBLE;
77 
78  class PackageDepSpecError;
79 
80  /**
81  * A PackageDepSpec can be written to an ostream.
82  *
83  * \ingroup g_dep_spec
84  */
85  std::ostream & operator<< (std::ostream &, const PackageDepSpec &) PALUDIS_VISIBLE;
86 
87  /**
88  * A URILabelsDepSpec can be written to an ostream.
89  *
90  * \ingroup g_dep_spec
91  * \since 0.26
92  */
93  std::ostream & operator<< (std::ostream &, const URILabelsDepSpec &) PALUDIS_VISIBLE;
94 
95  /**
96  * A DependenciesLabelsDepSpec can be written to an ostream.
97  *
98  * \ingroup g_dep_spec
99  * \since 0.42
100  */
101  std::ostream & operator<< (std::ostream &, const DependenciesLabelsDepSpec &) PALUDIS_VISIBLE;
102 
103  /**
104  * A BlockDepSpec can be written to an ostream.
105  *
106  * \ingroup g_dep_spec
107  * \since 0.26
108  */
109  std::ostream & operator<< (std::ostream &, const BlockDepSpec &) PALUDIS_VISIBLE;
110 
111  /**
112  * A SimpleURIDepSpec can be written to an ostream.
113  *
114  * \ingroup g_dep_spec
115  * \since 0.26
116  */
117  std::ostream & operator<< (std::ostream &, const SimpleURIDepSpec &) PALUDIS_VISIBLE;
118 
119  /**
120  * A FetchableURIDepSpec can be written to an ostream.
121  *
122  * \ingroup g_dep_spec
123  * \since 0.26
124  */
125  std::ostream & operator<< (std::ostream &, const FetchableURIDepSpec &) PALUDIS_VISIBLE;
126 
127  /**
128  * A LicenseDepSpec can be written to an ostream.
129  *
130  * \ingroup g_dep_spec
131  * \since 0.26
132  */
133  std::ostream & operator<< (std::ostream &, const LicenseDepSpec &) PALUDIS_VISIBLE;
134 
135  /**
136  * A ConditionalDepSpec can be written to an ostream.
137  *
138  * \ingroup g_dep_spec
139  * \since 0.26
140  */
141  std::ostream & operator<< (std::ostream &, const ConditionalDepSpec &) PALUDIS_VISIBLE;
142 
143  /**
144  * A NamedSetDepSpec can be written to an ostream.
145  *
146  * \ingroup g_dep_spec
147  * \since 0.26
148  */
149  std::ostream & operator<< (std::ostream &, const NamedSetDepSpec &) PALUDIS_VISIBLE;
150 
151  /**
152  * A PlainTextLabelDepSpec can be written to an ostream.
153  *
154  * \ingroup g_dep_spec
155  * \since 0.32
156  */
157  std::ostream & operator<< (std::ostream &, const PlainTextLabelDepSpec &) PALUDIS_VISIBLE;
158 }
159 
160 #endif
Definition: dep_spec.hh:529
Definition: dep_spec.hh:477
Definition: dep_spec.hh:570
Definition: dep_spec-fwd.hh:50
Definition: dep_spec.hh:611
Definition: dep_spec.hh:322
Definition: dep_spec.hh:345
std::ostream & operator<<(std::ostream &, const WantPhase &) PALUDIS_VISIBLE
Definition: dep_spec.hh:696
Definition: dep_spec.hh:591
LabelsDepSpec< URILabel > URILabelsDepSpec
Definition: dep_spec-fwd.hh:50
Definition: dep_spec.hh:310
Definition: dep_spec.hh:504
LabelsDepSpec< DependenciesLabel > DependenciesLabelsDepSpec
Definition: dep_spec-fwd.hh:66
Definition: dep_spec.hh:457
Definition: dep_spec.hh:201
#define PALUDIS_VISIBLE
Definition: attributes.hh:71