paludis Version 3.0.2
The one true package mangler
name-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, 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_NAME_FWD_HH
21#define PALUDIS_GUARD_PALUDIS_NAME_FWD_HH 1
22
23#include <paludis/util/wrapped_value-fwd.hh>
27#include <iosfwd>
28
29/** \file
30 * Forward declarations for paludis/name.hh .
31 *
32 * \ingroup g_names
33 */
34
35namespace paludis
36{
37 class PackageNamePartTag;
39 template <> struct WrappedValueTraits<PackageNamePartTag>;
40
41 /**
42 * A PackageNamePart holds a std::string that is a valid name for the
43 * package part of a QualifiedPackageName.
44 *
45 * \ingroup g_names
46 */
48
49 typedef Set<PackageNamePart> PackageNamePartSet;
50
51 class CategoryNamePartTag;
53 template <> struct WrappedValueTraits<CategoryNamePartTag>;
54
55 /**
56 * A CategoryNamePart holds a std::string that is a valid name for the
57 * category part of a QualifiedPackageName.
58 *
59 * \ingroup g_names
60 */
62
63 typedef Set<CategoryNamePart> CategoryNamePartSet;
64
66
67 /**
68 * Output a QualifiedPackageName to a stream.
69 *
70 * \ingroup g_names
71 */
72 std::ostream & operator<< (std::ostream &, const QualifiedPackageName &) PALUDIS_VISIBLE;
73
74 /**
75 * A CategoryNamePart plus a PackageNamePart is a QualifiedPackageName.
76 *
77 * \ingroup g_names
78 */
79 inline const QualifiedPackageName
80 operator+ (const CategoryNamePart & c, const PackageNamePart & p) PALUDIS_ATTRIBUTE((warn_unused_result));
81
82 class SlotNameTag;
83 class SlotNameError;
84 template <> struct WrappedValueTraits<SlotNameTag>;
85
86 typedef Set<QualifiedPackageName> QualifiedPackageNameSet;
87
88 /**
89 * A SlotName holds a std::string that is a valid name for a SLOT.
90 *
91 * \ingroup g_names
92 */
94
95 class RepositoryNameTag;
97 template <> struct WrappedValueTraits<RepositoryNameTag>;
98
99 /**
100 * A RepositoryName holds a std::string that is a valid name for a
101 * Repository.
102 *
103 * \ingroup g_names
104 */
106
107 typedef Set<RepositoryName> RepositoryNameSet;
108
109 class KeywordNameTag;
110 class KeywordNameError;
111 template <> struct WrappedValueTraits<KeywordNameTag>;
112
113 /**
114 * A KeywordName holds a std::string that is a valid name for a KEYWORD.
115 *
116 * \ingroup g_names
117 */
119
120 typedef Set<KeywordName> KeywordNameSet;
121
122 class SetNameTag;
123 class SetNameError;
124 template <> struct WrappedValueTraits<SetNameTag>;
125
126 /**
127 * A SetName holds a std::string that is a valid name for a set.
128 *
129 * \ingroup g_names
130 */
132
133 typedef Set<SetName> SetNameSet;
134
135 class PartNameTag;
136 class PartNameError;
137 template <> struct WrappedValueTraits<PartNameTag>;
138
139 /**
140 * A PartName holds a std::string that is a valid name for a part.
141 *
142 * \ingroup g_names
143 */
145}
146
147#endif
Definition name.hh:84
Definition name.hh:203
Definition name.hh:55
Definition name.hh:254
Definition name.hh:112
Definition name.hh:177
Definition name.hh:229
Definition set.hh:51
Definition name.hh:151
Definition wrapped_value.hh:45
std::ostream & operator<<(std::ostream &, const AdditionalPackageDepSpecRequirement &) PALUDIS_VISIBLE
WrappedValue< KeywordNameTag > KeywordName
Definition name-fwd.hh:118
WrappedValue< SlotNameTag > SlotName
Definition name-fwd.hh:93
WrappedValue< SetNameTag > SetName
Definition name-fwd.hh:131
WrappedValue< PartNameTag > PartName
Definition name-fwd.hh:144
WrappedValue< CategoryNamePartTag > CategoryNamePart
Definition name-fwd.hh:61
WrappedValue< PackageNamePartTag > PackageNamePart
Definition name-fwd.hh:47
WrappedValue< RepositoryNameTag > RepositoryName
Definition name-fwd.hh:105
Generator operator+(const Generator &, const Generator &) PALUDIS_ATTRIBUTE((warn_unused_result)) PALUDIS_VISIBLE
#define PALUDIS_ATTRIBUTE(x)
Definition attributes.hh:53
#define PALUDIS_VISIBLE
Definition attributes.hh:59
Definition about_metadata-fwd.hh:24
Definition wrapped_value-fwd.hh:32