libzypp 17.31.23
ResolverNamespace.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
11#ifndef ZYPP_RESOLVERNAMESPACE_H
12#define ZYPP_RESOLVERNAMESPACE_H
13
14#include <iosfwd>
15#include <cstdint>
16
17#include <zypp/base/Flags.h>
18#include <zypp/IdString.h>
19
21namespace zypp
22{
24 enum class ResolverNamespace : std::uint8_t
25 {
26 language = 1<<0,
27 modalias = 1<<1,
28 filesystem = 1<<2,
29 };
30
33
35 static constexpr const ResolverNamespaces NoResolverNamespaces = ResolverNamespace();
36
38 static constexpr const ResolverNamespaces AllResolverNamespaces = ResolverNamespace(0xff);
39
41 inline constexpr IdString asIdString( ResolverNamespace obj )
42 {
47 }
48
50 inline std::string asString( ResolverNamespace obj )
51 { return asIdString( obj ).asString(); }
52
54 inline std::ostream & operator<<( std::ostream & str, ResolverNamespace obj )
55 { return str << asIdString( obj ); }
56
58 inline std::ostream & operator<<( std::ostream & str, ResolverNamespaces obj )
59 {
60 return str << stringify( obj, {
61 { ResolverNamespace::language, "language" },
62 { ResolverNamespace::modalias, "modalias" },
63 { ResolverNamespace::filesystem, "filesystem" },
64 }, "namespace:", "|", "" );
65 }
66
67} // namespace zypp
69#endif // ZYPP_RESOLVERNAMESPACE_H
static constexpr const ResolverNamespaces NoResolverNamespaces
All bits set.
static constexpr const ResolverNamespaces AllResolverNamespaces
All bits set.
String related utilities and Regular expression matching.
std::string asString(TInt val, char zero='0', char one='1')
For printing bits.
Definition: Bit.h:57
static const IdType namespaceLanguage(20)
static const IdType namespaceModalias(18)
static const IdType namespaceFilesystem(21)
static const IdType noId(0)
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2
ResolverNamespace
The resolver's dependency namespaces.
@ modalias
hardware support
@ language
language support
std::ostream & operator<<(std::ostream &str, const SerialNumber &obj)
Definition: SerialNumber.cc:52
#define ZYPP_DECLARE_FLAGS_AND_OPERATORS(Name, Enum)
Definition: Flags.h:189