qualifier_flags.hpp File Reference

Classes

struct  boost::callable_traits::detail::flag_map< T >
 
struct  boost::callable_traits::detail::flag_map< T & >
 
struct  boost::callable_traits::detail::flag_map< T && >
 
struct  boost::callable_traits::detail::flag_map< T const >
 
struct  boost::callable_traits::detail::flag_map< T const & >
 
struct  boost::callable_traits::detail::flag_map< T const && >
 
struct  boost::callable_traits::detail::flag_map< T volatile >
 
struct  boost::callable_traits::detail::flag_map< T volatile & >
 
struct  boost::callable_traits::detail::flag_map< T volatile && >
 
struct  boost::callable_traits::detail::flag_map< T const volatile >
 
struct  boost::callable_traits::detail::flag_map< T const volatile & >
 
struct  boost::callable_traits::detail::flag_map< T const volatile && >
 

Namespaces

 boost
 
 boost::callable_traits
 
 boost::callable_traits::detail
 

Typedefs

using boost::callable_traits::detail::qualifier_flags = std::uint32_t
 
template<qualifier_flags Flags>
using boost::callable_traits::detail::remove_const_flag = std::integral_constant< qualifier_flags, Flags &~const_ >
 
template<qualifier_flags Flags>
using boost::callable_traits::detail::is_const = std::integral_constant< bool,(Flags &const_) !=0 >
 
template<qualifier_flags Flags>
using boost::callable_traits::detail::remove_volatile_flag = std::integral_constant< qualifier_flags, Flags &~volatile_ >
 
template<typename U , typename T = typename std::remove_reference<U>::type>
using boost::callable_traits::detail::cv_of = std::integral_constant< qualifier_flags,(std::is_const< T >::value ? const_ :default_)|(std::is_volatile< T >::value ? volatile_ :default_)>
 
template<typename T >
using boost::callable_traits::detail::ref_of = std::integral_constant< qualifier_flags, std::is_rvalue_reference< T >::value ? rref_ :(std::is_lvalue_reference< T >::value ? lref_ :default_)>
 
template<qualifier_flags Existing, qualifier_flags Other, bool AlreadyHasRef = (Existing & (lref_ | rref_)) != 0, bool AlreadyHasLRef = (Existing & lref_) == lref_, bool IsAddingLRef = (Other & lref_) == lref_>
using boost::callable_traits::detail::collapse_flags = std::integral_constant< qualifier_flags, !AlreadyHasRef ?(Existing|Other) :(AlreadyHasLRef ?(Existing|(Other &~rref_)) :(IsAddingLRef ?((Existing &~rref_)|Other) :(Existing|Other)))>
 

Variables

constexpr qualifier_flags boost::callable_traits::detail::default_ = 0
 
constexpr qualifier_flags boost::callable_traits::detail::const_ = 1
 
constexpr qualifier_flags boost::callable_traits::detail::volatile_ = 2
 
constexpr qualifier_flags boost::callable_traits::detail::lref_ = 4
 
constexpr qualifier_flags boost::callable_traits::detail::rref_ = 8
 
constexpr qualifier_flags boost::callable_traits::detail::cv_ = 3