Castor3D 0.16.0
Multiplatform 3D engine
Classes | Namespaces | Functions
FlagCombination.hpp File Reference

Classes

struct  castor::FlagIterator< FlagTypeT, IteratorTraitsT >
 Template iterator class on a binary combination of flags. More...
 
class  castor::FlagCombination< FlagType >
 Template class providing implicit conversion from a scoped enum to its integral base type. More...
 

Namespaces

namespace  castor
 

Functions

template<typename FlagTypeT , typename IteratorTraitsT >
constexpr bool castor::operator== (FlagIterator< FlagTypeT, IteratorTraitsT > const &lhs, FlagIterator< FlagTypeT, IteratorTraitsT > const &rhs)
 
template<typename FlagTypeT , typename IteratorTraitsT >
constexpr bool castor::operator!= (FlagIterator< FlagTypeT, IteratorTraitsT > const &lhs, FlagIterator< FlagTypeT, IteratorTraitsT > const &rhs)
 
template<typename T , typename U >
constexpr bool castor::hasAll (T const &value, U const &rhs) noexcept
 
template<typename FlagType >
constexpr bool castor::hasAll (FlagCombination< FlagType > const &value, FlagType const &rhs) noexcept
 
template<typename FlagType >
constexpr bool castor::hasAll (FlagType const &value, FlagCombination< FlagType > const &rhs) noexcept
 
template<typename FlagType >
constexpr bool castor::hasAll (typename FlagCombination< FlagType >::BaseType const &value, FlagCombination< FlagType > const &rhs) noexcept
 
template<typename FlagType >
constexpr bool castor::hasAll (FlagCombination< FlagType > const &value, typename FlagCombination< FlagType >::BaseType const &rhs) noexcept
 
template<typename FlagType >
constexpr bool castor::hasAll (FlagCombination< FlagType > const &value, FlagCombination< FlagType > const &rhs) noexcept
 
template<typename T , typename U >
constexpr bool castor::hasAny (T const &value, U const &rhs) noexcept
 
template<typename FlagType >
constexpr bool castor::hasAny (FlagCombination< FlagType > const &value, FlagType const &rhs) noexcept
 
template<typename FlagType , typename Type >
constexpr bool castor::hasAny (FlagCombination< FlagType > const &value, Type const &rhs) noexcept
 
template<typename T , typename U >
constexpr bool castor::checkFlag (T const &value, U const &flag) noexcept
 
template<typename FlagType >
constexpr bool castor::checkFlag (FlagCombination< FlagType > const &value, FlagType const &flag) noexcept
 
template<typename FlagType , typename Type >
constexpr bool castor::checkFlag (FlagCombination< FlagType > const &value, Type const &flag) noexcept
 
template<typename FlagType >
constexpr FlagCombination< FlagType > & castor::addFlag (FlagCombination< FlagType > &value, FlagType const &flag) noexcept
 adds a flag to the given value.
 
template<typename FlagType >
constexpr FlagCombination< FlagType > & castor::addFlags (FlagCombination< FlagType > &value, FlagCombination< FlagType > const &flags) noexcept
 adds a flag combination to the given value.
 
template<typename FlagType >
constexpr FlagCombination< FlagType > & castor::remFlags (FlagCombination< FlagType > &value, FlagCombination< FlagType > const &flags) noexcept
 Removes a flag combination from the given value.
 
template<typename FlagType >
constexpr FlagCombination< FlagType > & castor::remFlag (FlagCombination< FlagType > &value, FlagType const &flag) noexcept
 Removes a flag from the given value.
 
template<typename FlagType >
constexpr FlagCombination< FlagType > castor::addFlag (FlagCombination< FlagType > const &value, FlagType const &flag) noexcept
 adds a flag to the given value.
 
template<typename FlagType >
constexpr FlagCombination< FlagType > castor::remFlag (FlagCombination< FlagType > const &value, FlagType const &flag) noexcept
 Removes a flag from the given value.
 

Comparison operators.

template<typename FlagType >
constexpr bool castor::operator== (FlagCombination< FlagType > const &lhs, FlagCombination< FlagType > const &rhs) noexcept
 
template<typename FlagType >
constexpr bool castor::operator== (FlagCombination< FlagType > const &lhs, FlagType const &rhs) noexcept
 
template<typename FlagType >
constexpr bool castor::operator!= (FlagCombination< FlagType > const &lhs, FlagCombination< FlagType > const &rhs) noexcept
 
template<typename FlagType >
constexpr bool castor::operator!= (FlagCombination< FlagType > const &lhs, FlagType const &rhs) noexcept
 

Binary operators.

template<typename FlagType >
constexpr FlagCombination< FlagType > castor::operator& (FlagCombination< FlagType > const &lhs, FlagType const &rhs) noexcept
 
template<typename FlagType >
constexpr FlagCombination< FlagType > castor::operator| (FlagCombination< FlagType > const &lhs, FlagType const &rhs) noexcept
 
template<typename FlagType >
constexpr FlagCombination< FlagType > castor::operator^ (FlagCombination< FlagType > const &lhs, FlagType const &rhs) noexcept
 
template<typename FlagType >
constexpr FlagCombination< FlagType > castor::operator& (FlagCombination< FlagType > const &lhs, typename FlagCombination< FlagType >::BaseType const &rhs) noexcept
 
template<typename FlagType >
constexpr FlagCombination< FlagType > castor::operator| (FlagCombination< FlagType > const &lhs, typename FlagCombination< FlagType >::BaseType const &rhs) noexcept
 
template<typename FlagType >
constexpr FlagCombination< FlagType > castor::operator^ (FlagCombination< FlagType > const &lhs, typename FlagCombination< FlagType >::BaseType const &rhs) noexcept
 
template<typename FlagType >
constexpr FlagCombination< FlagType > castor::operator& (FlagCombination< FlagType > const &lhs, FlagCombination< FlagType > const &rhs) noexcept
 
template<typename FlagType >
constexpr FlagCombination< FlagType > castor::operator| (FlagCombination< FlagType > const &lhs, FlagCombination< FlagType > const &rhs) noexcept
 
template<typename FlagType >
constexpr FlagCombination< FlagType > castor::operator^ (FlagCombination< FlagType > const &lhs, FlagCombination< FlagType > const &rhs) noexcept