libzypp 17.38.14
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-core/Globals.h>
19#include <zypp/IdString.h>
20
22namespace zypp
23{
25 enum class ResolverNamespace : std::uint8_t
26 {
27 language = 1<<0,
28 modalias = 1<<1,
29 filesystem = 1<<2,
30 };
31
34
36 ZYPP_DEFINE_GLOBAL_CONSTEXPR( ResolverNamespaces, NoResolverNamespaces, ResolverNamespace() )
38 ZYPP_DEFINE_GLOBAL_CONSTEXPR( ResolverNamespaces, AllResolverNamespaces, ResolverNamespace(0xff) )
39
41 inline constexpr IdString asIdString( ResolverNamespace obj )
42 {
43 return IdString( obj == ResolverNamespace::language ? sat::detail::namespaceLanguage
44 : obj == ResolverNamespace::modalias ? sat::detail::namespaceModalias
45 : obj == ResolverNamespace::filesystem ? sat::detail::namespaceFilesystem
46 : sat::detail::noId );
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
#define ZYPP_DECLARE_FLAGS_AND_OPERATORS(Name, Enum)
relates: Flags
Definition Flags.h:189
Provides API related macros.
#define ZYPP_DEFINE_GLOBAL_CONSTEXPR(type, name,...)
Definition Globals.h:153
Access to the sat-pools string space.
Definition IdString.h:55
std::string asString() const
Conversion to std::string
Definition IdString.h:110
String related utilities and Regular expression matching.
Types and functions for filesystem operations.
Definition Glob.cc:24
Easy-to use interface to the ZYPP dependency resolver.
ResolverNamespace
The resolver's dependency namespaces.
@ modalias
hardware support
@ language
language support
constexpr IdString asIdString(ResolverNamespace obj)
relates: ResolverNamespace All bits set.
std::string asString(const Patch::Category &obj)
relates: Patch::Category string representation.
Definition Patch.cc:122
std::ostream & operator<<(std::ostream &str, const Capabilities &obj)
relates: Capabilities Stream output