wibble::StrongEnumFlags< Self > Struct Template Reference

`#include <strongenumflags.h>`

## Public Types

using | This = StrongEnumFlags< Self >
using | UnderlyingType = typename std::underlying_type< Self >::type

## Public Member Functions

constexpr | StrongEnumFlags () noexcept
constexpr | StrongEnumFlags (Self flag) noexcept
constexpr | StrongEnumFlags (UnderlyingType st) noexcept
constexpr | operator UnderlyingType () const noexcept
This & | operator|= (This o) noexcept
This & | operator&= (This o) noexcept
constexpr bool | has (Self x) const noexcept
constexpr | operator bool () const noexcept

## Friends

constexpr friend This | operator| (This a, This b) noexcept
constexpr friend This | operator& (This a, This b) noexcept
constexpr friend bool | operator== (This a, This b) noexcept
constexpr friend bool | operator!= (This a, This b) noexcept

## Member Typedef Documentation

## This

template<typename Self >

using wibble::StrongEnumFlags< Self >::This = StrongEnumFlags< Self >

## UnderlyingType

template<typename Self >

using wibble::StrongEnumFlags< Self >::UnderlyingType = typename std::underlying_type< Self >::type

## Constructor & Destructor Documentation

## StrongEnumFlags() [1/3]

template<typename Self >

constexpr wibble::StrongEnumFlags< Self >::StrongEnumFlags | ( |  | ) |

inline constexpr noexcept

## StrongEnumFlags() [2/3]

template<typename Self >

constexpr wibble::StrongEnumFlags< Self >::StrongEnumFlags | ( | Self | flag | ) |

inline constexpr noexcept

## StrongEnumFlags() [3/3]

template<typename Self >

constexpr wibble::StrongEnumFlags< Self >::StrongEnumFlags | ( | UnderlyingType | st | ) |

inline explicit constexpr noexcept

## Member Function Documentation

## has()

template<typename Self >

constexpr bool wibble::StrongEnumFlags< Self >::has | ( | Self | x | ) | const

inline constexpr noexcept

## operator bool()

template<typename Self >

constexpr wibble::StrongEnumFlags< Self >::operator bool | ( |  | ) | const

inline constexpr noexcept

## operator UnderlyingType()

template<typename Self >

constexpr wibble::StrongEnumFlags< Self >::operator UnderlyingType | ( |  | ) | const

inline explicit constexpr noexcept

## operator&=()

template<typename Self >

This& wibble::StrongEnumFlags< Self >::operator&= | ( | This | o | ) |

inline noexcept

## operator|=()

template<typename Self >

This& wibble::StrongEnumFlags< Self >::operator|= | ( | This | o | ) |

inline noexcept

## Friends And Related Function Documentation

## operator!=

template<typename Self >

constexpr friend bool operator!= | ( | This | a,
|  | This | b
| ) |  |

friend

## operator&

template<typename Self >

constexpr friend This operator& | ( | This | a,
|  | This | b
| ) |  |

friend

## operator==

template<typename Self >

constexpr friend bool operator== | ( | This | a,
|  | This | b
| ) |  |

friend

## operator|

template<typename Self >

constexpr friend This operator| | ( | This | a,
|  | This | b
| ) |  |

friend

The documentation for this struct was generated from the following file:

- strongenumflags.h