LibreOffice Module o3tl (master)  1
Classes | Namespaces | Functions
typed_flags_set.hxx File Reference
#include <sal/config.h>
#include <cassert>
#include <type_traits>
#include <o3tl/underlyingenumvalue.hxx>
#include <sal/types.h>
Include dependency graph for typed_flags_set.hxx:

Go to the source code of this file.

Classes

struct  o3tl::typed_flags< T >
 
struct  o3tl::is_typed_flags< E, M >
 Mark a (scoped) enumeration as a set of bit flags, with accompanying operations. More...
 
class  o3tl::is_typed_flags< E, M >::Wrap
 

Namespaces

 o3tl
 
 o3tl::detail
 

Functions

template<typename T >
constexpr std::enable_if< std::is_signed< T >::value, bool >::type o3tl::detail::isNonNegative (T value)
 
template<typename T >
constexpr std::enable_if< std::is_unsigned< T >::value, bool >::type o3tl::detail::isNonNegative (T)
 
template<typename E >
constexpr o3tl::typed_flags< E >::Wrap operator~ (E rhs)
 
template<typename E >
constexpr o3tl::typed_flags< E >::Wrap operator~ (typename o3tl::typed_flags< E >::Wrap rhs)
 
template<typename E >
constexpr o3tl::typed_flags< E >::Wrap operator^ (E lhs, E rhs)
 
template<typename E >
constexpr o3tl::typed_flags< E >::Wrap operator^ (E lhs, typename o3tl::typed_flags< E >::Wrap rhs)
 
template<typename E >
constexpr o3tl::typed_flags< E >::Wrap operator^ (typename o3tl::typed_flags< E >::Wrap lhs, E rhs)
 
template<typename W >
constexpr o3tl::typed_flags< typename W::Unwrapped::Self >::Wrap operator^ (W lhs, W rhs)
 
template<typename E >
constexpr o3tl::typed_flags< E >::Wrap operator& (E lhs, E rhs)
 
template<typename E >
constexpr o3tl::typed_flags< E >::Wrap operator& (E lhs, typename o3tl::typed_flags< E >::Wrap rhs)
 
template<typename E >
constexpr o3tl::typed_flags< E >::Wrap operator& (typename o3tl::typed_flags< E >::Wrap lhs, E rhs)
 
template<typename W >
constexpr o3tl::typed_flags< typename W::Unwrapped::Self >::Wrap operator& (W lhs, W rhs)
 
template<typename E >
constexpr o3tl::typed_flags< E >::Wrap operator| (E lhs, E rhs)
 
template<typename E >
constexpr o3tl::typed_flags< E >::Wrap operator| (E lhs, typename o3tl::typed_flags< E >::Wrap rhs)
 
template<typename E >
constexpr o3tl::typed_flags< E >::Wrap operator| (typename o3tl::typed_flags< E >::Wrap lhs, E rhs)
 
template<typename W >
constexpr o3tl::typed_flags< typename W::Unwrapped::Self >::Wrap operator| (W lhs, W rhs)
 
template<typename E >
o3tl::typed_flags< E >::Self operator&= (E &lhs, E rhs)
 
template<typename E >
o3tl::typed_flags< E >::Self operator&= (E &lhs, typename o3tl::typed_flags< E >::Wrap rhs)
 
template<typename E >
o3tl::typed_flags< E >::Self operator|= (E &lhs, E rhs)
 
template<typename E >
o3tl::typed_flags< E >::Self operator|= (E &lhs, typename o3tl::typed_flags< E >::Wrap rhs)
 
template<typename E >
o3tl::typed_flags< E >::Self operator^= (E &lhs, E rhs)
 
template<typename E >
o3tl::typed_flags< E >::Self operator^= (E &lhs, typename o3tl::typed_flags< E >::Wrap rhs)
 

Function Documentation

template<typename E >
constexpr o3tl::typed_flags<E>::Wrap operator& ( lhs,
rhs 
)
template<typename E >
constexpr o3tl::typed_flags<E>::Wrap operator& ( lhs,
typename o3tl::typed_flags< E >::Wrap  rhs 
)
template<typename E >
constexpr o3tl::typed_flags<E>::Wrap operator& ( typename o3tl::typed_flags< E >::Wrap  lhs,
rhs 
)
template<typename W >
constexpr o3tl::typed_flags<typename W::Unwrapped::Self>::Wrap operator& ( lhs,
rhs 
)

Definition at line 203 of file typed_flags_set.hxx.

template<typename E >
o3tl::typed_flags<E>::Self operator&= ( E &  lhs,
rhs 
)
inline
template<typename E >
o3tl::typed_flags<E>::Self operator&= ( E &  lhs,
typename o3tl::typed_flags< E >::Wrap  rhs 
)
inline
template<typename E >
constexpr o3tl::typed_flags<E>::Wrap operator^ ( lhs,
rhs 
)
template<typename E >
constexpr o3tl::typed_flags<E>::Wrap operator^ ( lhs,
typename o3tl::typed_flags< E >::Wrap  rhs 
)
template<typename E >
constexpr o3tl::typed_flags<E>::Wrap operator^ ( typename o3tl::typed_flags< E >::Wrap  lhs,
rhs 
)
template<typename W >
constexpr o3tl::typed_flags<typename W::Unwrapped::Self>::Wrap operator^ ( lhs,
rhs 
)

Definition at line 159 of file typed_flags_set.hxx.

template<typename E >
o3tl::typed_flags<E>::Self operator^= ( E &  lhs,
rhs 
)
inline
template<typename E >
o3tl::typed_flags<E>::Self operator^= ( E &  lhs,
typename o3tl::typed_flags< E >::Wrap  rhs 
)
inline
template<typename E >
constexpr o3tl::typed_flags<E>::Wrap operator| ( lhs,
rhs 
)
template<typename E >
constexpr o3tl::typed_flags<E>::Wrap operator| ( lhs,
typename o3tl::typed_flags< E >::Wrap  rhs 
)
template<typename E >
constexpr o3tl::typed_flags<E>::Wrap operator| ( typename o3tl::typed_flags< E >::Wrap  lhs,
rhs 
)
template<typename W >
constexpr o3tl::typed_flags<typename W::Unwrapped::Self>::Wrap operator| ( lhs,
rhs 
)

Definition at line 247 of file typed_flags_set.hxx.

template<typename E >
o3tl::typed_flags<E>::Self operator|= ( E &  lhs,
rhs 
)
inline
template<typename E >
o3tl::typed_flags<E>::Self operator|= ( E &  lhs,
typename o3tl::typed_flags< E >::Wrap  rhs 
)
inline
template<typename E >
constexpr o3tl::typed_flags<E>::Wrap operator~ ( rhs)
template<typename E >
constexpr o3tl::typed_flags<E>::Wrap operator~ ( typename o3tl::typed_flags< E >::Wrap  rhs)

Definition at line 114 of file typed_flags_set.hxx.