VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType > Class Template Reference

`#include <vulkan.hpp>`

## Public Member Functions

VULKAN_HPP_CONSTEXPR | Flags ()
| Flags (BitType bit)
| Flags (Flags< BitType > const &rhs)
| Flags (MaskType flags)
Flags< BitType > & | operator= (Flags< BitType > const &rhs)
Flags< BitType > & | operator|= (Flags< BitType > const &rhs)
Flags< BitType > & | operator&= (Flags< BitType > const &rhs)
Flags< BitType > & | operator^= (Flags< BitType > const &rhs)
Flags< BitType > | operator| (Flags< BitType > const &rhs) const
Flags< BitType > | operator& (Flags< BitType > const &rhs) const
Flags< BitType > | operator^ (Flags< BitType > const &rhs) const
bool | operator! () const
Flags< BitType > | operator~ () const
bool | operator== (Flags< BitType > const &rhs) const
bool | operator!= (Flags< BitType > const &rhs) const
| operator bool () const
| operator MaskType () const

## Private Attributes

MaskType | m_mask

## Detailed Description

### template<typename BitType, typename MaskType = VkFlags>
class VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >

Definition at line 146 of file vulkan.hpp.

## Constructor & Destructor Documentation

## Flags() [1/4]

template<typename BitType , typename MaskType = VkFlags>

VULKAN_HPP_CONSTEXPR VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::Flags | ( |  | ) |

inline

Definition at line 149 of file vulkan.hpp.

: m_mask(0)
{
}

## Flags() [2/4]

template<typename BitType , typename MaskType = VkFlags>

VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::Flags | ( | BitType | bit | ) |

inline

Definition at line 154 of file vulkan.hpp.

: m_mask(static_cast<MaskType>(bit))
{
}

## Flags() [3/4]

template<typename BitType , typename MaskType = VkFlags>

VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::Flags | ( | Flags< BitType > const & | rhs | ) |

inline

Definition at line 159 of file vulkan.hpp.

: m_mask(rhs.m_mask)
{
}

## Flags() [4/4]

template<typename BitType , typename MaskType = VkFlags>

VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::Flags | ( | MaskType | flags | ) |

inline explicit

Definition at line 164 of file vulkan.hpp.

: m_mask(flags)
{
}

## Member Function Documentation

## operator bool()

template<typename BitType , typename MaskType = VkFlags>

VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::operator bool | ( |  | ) | const

inline explicit

Definition at line 236 of file vulkan.hpp.

{
return !!m_mask;
}

## operator MaskType()

template<typename BitType , typename MaskType = VkFlags>

VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::operator MaskType | ( |  | ) | const

inline explicit

Definition at line 241 of file vulkan.hpp.

{
return m_mask;
}

## operator!()

template<typename BitType , typename MaskType = VkFlags>

bool VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::operator! | ( |  | ) | const

inline

Definition at line 214 of file vulkan.hpp.

{
return !m_mask;
}

## operator!=()

template<typename BitType , typename MaskType = VkFlags>

bool VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::operator!= | ( | Flags< BitType > const & | rhs | ) | const

inline

Definition at line 231 of file vulkan.hpp.

{
return m_mask != rhs.m_mask;
}

## operator&()

template<typename BitType , typename MaskType = VkFlags>

Flags<BitType> VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::operator& | ( | Flags< BitType > const & | rhs | ) | const

inline

Definition at line 200 of file vulkan.hpp.

{
Flags<BitType> result(*this);
result &= rhs;
return result;
}

## operator&=()

template<typename BitType , typename MaskType = VkFlags>

Flags<BitType>& VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::operator&= | ( | Flags< BitType > const & | rhs | ) |

inline

Definition at line 181 of file vulkan.hpp.

{
m_mask &= rhs.m_mask;
return *this;
}

## operator=()

template<typename BitType , typename MaskType = VkFlags>

Flags<BitType>& VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::operator= | ( | Flags< BitType > const & | rhs | ) |

inline

Definition at line 169 of file vulkan.hpp.

{
m_mask = rhs.m_mask;
return *this;
}

## operator==()

template<typename BitType , typename MaskType = VkFlags>

bool VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::operator== | ( | Flags< BitType > const & | rhs | ) | const

inline

Definition at line 226 of file vulkan.hpp.

{
return m_mask == rhs.m_mask;
}

## operator^()

template<typename BitType , typename MaskType = VkFlags>

Flags<BitType> VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::operator^ | ( | Flags< BitType > const & | rhs | ) | const

inline

Definition at line 207 of file vulkan.hpp.

{
Flags<BitType> result(*this);
result ^= rhs;
return result;
}

## operator^=()

template<typename BitType , typename MaskType = VkFlags>

Flags<BitType>& VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::operator^= | ( | Flags< BitType > const & | rhs | ) |

inline

Definition at line 187 of file vulkan.hpp.

{
m_mask ^= rhs.m_mask;
return *this;
}

## operator|()

template<typename BitType , typename MaskType = VkFlags>

Flags<BitType> VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::operator| | ( | Flags< BitType > const & | rhs | ) | const

inline

Definition at line 193 of file vulkan.hpp.

{
Flags<BitType> result(*this);
result |= rhs;
return result;
}

## operator|=()

template<typename BitType , typename MaskType = VkFlags>

Flags<BitType>& VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::operator|= | ( | Flags< BitType > const & | rhs | ) |

inline

Definition at line 175 of file vulkan.hpp.

{
m_mask |= rhs.m_mask;
return *this;
}

## operator~()

template<typename BitType , typename MaskType = VkFlags>

Flags<BitType> VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::operator~ | ( |  | ) | const

inline

Definition at line 219 of file vulkan.hpp.

{
Flags<BitType> result(*this);
result.m_mask ^= FlagTraits<BitType>::allFlags;
return result;
}

## Field Documentation

## m_mask

template<typename BitType , typename MaskType = VkFlags>

MaskType VULKAN_HPP_NAMESPACE::Flags< BitType, MaskType >::m_mask

private

Definition at line 247 of file vulkan.hpp.

Referenced by VULKAN_HPP_NAMESPACE::Flags< CullModeFlagBits, VkCullModeFlags >::operator bool(), VULKAN_HPP_NAMESPACE::Flags< ValidationCacheCreateFlagBitsEXT, VkValidationCacheCreateFlagsEXT >::operator VkValidationCacheCreateFlagsEXT(), VULKAN_HPP_NAMESPACE::Flags< CullModeFlagBits, VkCullModeFlags >::operator!(), VULKAN_HPP_NAMESPACE::Flags< CullModeFlagBits, VkCullModeFlags >::operator!=(), VULKAN_HPP_NAMESPACE::Flags< CullModeFlagBits, VkCullModeFlags >::operator&=(), VULKAN_HPP_NAMESPACE::Flags< CullModeFlagBits, VkCullModeFlags >::operator=(), VULKAN_HPP_NAMESPACE::Flags< CullModeFlagBits, VkCullModeFlags >::operator==(), VULKAN_HPP_NAMESPACE::Flags< CullModeFlagBits, VkCullModeFlags >::operator^=(), and VULKAN_HPP_NAMESPACE::Flags< CullModeFlagBits, VkCullModeFlags >::operator|=().

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

- src/video/khronos/vulkan/vulkan.hpp

result
GLuint64EXT * result
Definition: SDL_opengl_glext.h:9432
VULKAN_HPP_NAMESPACE::FlagTraits::allFlags
@ allFlags
Definition: vulkan.hpp:142
VULKAN_HPP_NAMESPACE::Flags::m_mask
MaskType m_mask
Definition: vulkan.hpp:247
flags
GLbitfield flags
Definition: SDL_opengl_glext.h:1480