userver: userver/utils/flags.hpp File Reference
Loading...
Searching...
No Matches
flags.hpp File Reference

Detailed Description

Types that provide flags interface to enums.

Definition in file flags.hpp.

Go to the source code of this file.

#include <atomic>
#include <initializer_list>
#include <type_traits>
+ This graph shows which files directly or indirectly include this file:

Classes

class  utils::Flags< Enum >
 Wrapper to extend enum with flags interface. More...
 
class  utils::AtomicFlags< Enum >
 Wrapper to extend enum with atomic flags interface. More...
 

Namespaces

namespace  utils
 General-purpose utilities used across userver libraries.
 

Functions

template<typename Enum>
constexpr Flags< Enum > utils::operator| (Enum, Flags< Enum >)
 
template<typename Enum>
constexpr Flags< Enum > utils::operator& (Enum, Flags< Enum >)
 
template<typename Enum>
constexpr bool utils::operator== (Enum, Flags< Enum >)
 
template<typename Enum>
constexpr bool utils::operator!= (Enum, Flags< Enum >)
 
template<typename Enum>
Flags< Enum > utils::operator| (Enum, const AtomicFlags< Enum > &)
 
template<typename Enum>
Flags< Enum > utils::operator& (Enum, const AtomicFlags< Enum > &)
 
template<typename Enum>
bool utils::operator== (Enum, const AtomicFlags< Enum > &)
 
template<typename Enum>
bool utils::operator!= (Enum, const AtomicFlags< Enum > &)