libzypp  17.1.1
Flags.h File Reference
#include "zypp/base/String.h"
Include dependency graph for Flags.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  zypp::base::Flags< TEnum >
 A type-safe way of storing OR-combinations of enum values (like QTs QFlags). More...
 

Namespaces

 zypp
 Easy-to use interface to the ZYPP dependency resolver.
 
 zypp::base
 

Macros

#define ZYPP_DECLARE_FLAGS(Name, Enum)   typedef zypp::base::Flags<Enum> Name
 
#define ZYPP_DECLARE_OPERATORS_FOR_FLAGS(Name)
 
#define ZYPP_DECLARE_FLAGS_AND_OPERATORS(Name, Enum)
 

Functions

template<typename TEnum >
std::ostream & zypp::base::operator<< (std::ostream &str, const Flags< TEnum > &obj)
 
template<typename TEnum >
std::ostream & zypp::base::operator<< (std::ostream &str, const typename Flags< TEnum >::Enum &obj)
 

Macro Definition Documentation

◆ ZYPP_DECLARE_FLAGS

#define ZYPP_DECLARE_FLAGS (   Name,
  Enum 
)    typedef zypp::base::Flags<Enum> Name

Definition at line 174 of file Flags.h.

◆ ZYPP_DECLARE_OPERATORS_FOR_FLAGS

#define ZYPP_DECLARE_OPERATORS_FOR_FLAGS (   Name)
Value:
inline constexpr bool operator==( Name::Enum lhs, Name rhs ) { return( rhs == lhs ); } \
inline constexpr bool operator!=(Name:: Enum lhs, Name rhs ) { return( rhs != lhs ); } \
inline constexpr Name operator&( Name::Enum lhs, Name::Enum rhs ) { return Name( lhs ) & rhs; } \
inline constexpr Name operator&( Name::Enum lhs, Name rhs ) { return rhs & lhs; } \
inline constexpr Name operator|( Name::Enum lhs, Name::Enum rhs ) { return Name( lhs ) | rhs; } \
inline constexpr Name operator|( Name::Enum lhs, Name rhs ) { return rhs | lhs; } \
inline constexpr Name operator^( Name::Enum lhs, Name::Enum rhs ) { return Name( lhs ) ^ rhs; } \
inline constexpr Name operator^( Name::Enum lhs, Name rhs ) { return rhs ^ lhs; } \
inline constexpr Name operator~( Name::Enum lhs ) { return ~Name( lhs ); }
BitField< TInt > operator^(const BitField< TInt > &lhs, const BitField< TInt > &rhs)
Definition: Bit.h:325
BitField< TInt > operator&(const BitField< TInt > &lhs, const BitField< TInt > &rhs)
Definition: Bit.h:315
Match operator|(const Match &lhs, const Match &rhs)
Definition: StrMatcher.h:224
bool operator!=(const Arch::CompatEntry &lhs, const Arch::CompatEntry &rhs)
Definition: Arch.cc:127
bool operator==(const Arch::CompatEntry &lhs, const Arch::CompatEntry &rhs)
Definition: Arch.cc:124

Definition at line 177 of file Flags.h.

◆ ZYPP_DECLARE_FLAGS_AND_OPERATORS

#define ZYPP_DECLARE_FLAGS_AND_OPERATORS (   Name,
  Enum 
)
Value:
ZYPP_DECLARE_FLAGS(Name,Enum); \
ZYPP_DECLARE_OPERATORS_FOR_FLAGS(Name)
#define ZYPP_DECLARE_FLAGS(Name, Enum)
Definition: Flags.h:174

Definition at line 189 of file Flags.h.