paludis
Version 1.4.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
paludis
dep_spec_annotations.hh
1
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
2
3
/*
4
* Copyright (c) 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_ANNOTATIONS_HH
21
#define PALUDIS_GUARD_PALUDIS_DEP_SPEC_ANNOTATIONS_HH 1
22
23
#include <paludis/dep_spec_annotations-fwd.hh>
24
#include <
paludis/util/pimp.hh
>
25
#include <
paludis/util/attributes.hh
>
26
#include <paludis/util/named_value.hh>
27
#include <paludis/util/wrapped_forward_iterator.hh>
28
29
namespace
paludis
30
{
31
namespace
n
32
{
33
typedef
Name<struct name_key> key;
34
typedef
Name<struct name_kind> kind;
35
typedef
Name<struct name_role> role;
36
typedef
Name<struct name_value> value;
37
}
38
39
struct
DepSpecAnnotation
40
{
41
NamedValue<n::key, std::string>
key;
42
NamedValue<n::kind, DepSpecAnnotationKind>
kind;
43
NamedValue<n::role, DepSpecAnnotationRole>
role;
44
NamedValue<n::value, std::string>
value;
45
};
46
47
class
PALUDIS_VISIBLE
DepSpecAnnotations
48
{
49
private
:
50
Pimp<DepSpecAnnotations>
_imp;
51
52
public
:
53
DepSpecAnnotations
();
54
~
DepSpecAnnotations
();
55
56
void
add(
const
DepSpecAnnotation
&);
57
58
struct
ConstIteratorTag;
59
typedef
WrappedForwardIterator<ConstIteratorTag, const DepSpecAnnotation>
ConstIterator
;
60
61
ConstIterator
begin()
const
PALUDIS_ATTRIBUTE
((warn_unused_result));
62
ConstIterator
end()
const
PALUDIS_ATTRIBUTE
((warn_unused_result));
63
ConstIterator
find(
const
std::string &)
const
PALUDIS_ATTRIBUTE
((warn_unused_result));
64
ConstIterator
find(
const
DepSpecAnnotationRole
)
const
PALUDIS_ATTRIBUTE
((warn_unused_result));
65
};
66
67
extern
template
class
Pimp<DepSpecAnnotations>
;
68
extern
template
class
PALUDIS_VISIBLE
WrappedForwardIterator<DepSpecAnnotations::ConstIteratorTag, const DepSpecAnnotation>
;
69
}
70
71
#endif
Generated on Thu May 16 2013 14:09:43 for paludis by
1.8.3.1