%PDF- %PDF-
Direktori : /proc/309157/task/309157/root/usr/include/boost/endian/detail/ |
Current File : //proc/309157/task/309157/root/usr/include/boost/endian/detail/is_scoped_enum.hpp |
#ifndef BOOST_ENDIAN_DETAIL_IS_SCOPED_ENUM_HPP_INCLUDED #define BOOST_ENDIAN_DETAIL_IS_SCOPED_ENUM_HPP_INCLUDED // Copyright 2020 Peter Dimov // // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt #include <boost/type_traits/conditional.hpp> #include <boost/type_traits/is_enum.hpp> #include <boost/type_traits/is_convertible.hpp> namespace boost { namespace endian { namespace detail { template<class T> struct negation: boost::integral_constant<bool, !T::value> {}; template<class T> struct is_scoped_enum: boost::conditional< boost::is_enum<T>::value, negation< boost::is_convertible<T, int> >, boost::false_type >::type { }; } // namespace detail } // namespace endian } // namespace boost #endif // BOOST_ENDIAN_DETAIL_IS_SCOPED_ENUM_HPP_INCLUDED