is_scalar.hpp
来自「CGAL is a collaborative effort of severa」· HPP 代码 · 共 56 行
HPP
56 行
// (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.// Use, modification and distribution are subject to the Boost Software License,// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at// http://www.boost.org/LICENSE_1_0.txt).//// See http://www.boost.org/libs/type_traits for most recent version including documentation.#ifndef BOOST_TT_IS_SCALAR_HPP_INCLUDED#define BOOST_TT_IS_SCALAR_HPP_INCLUDED#include "boost/type_traits/is_arithmetic.hpp"#include "boost/type_traits/is_enum.hpp"#include "boost/type_traits/is_pointer.hpp"#include "boost/type_traits/is_member_pointer.hpp"#include "boost/type_traits/detail/ice_or.hpp"#include "boost/config.hpp"// should be the last #include#include "boost/type_traits/detail/bool_trait_def.hpp"namespace boost {namespace detail {template <typename T>struct is_scalar_impl{ BOOST_STATIC_CONSTANT(bool, value = (::boost::type_traits::ice_or< ::boost::is_arithmetic<T>::value, ::boost::is_enum<T>::value, ::boost::is_pointer<T>::value, ::boost::is_member_pointer<T>::value >::value));};// these specializations are only really needed for compilers // without partial specialization support:template <> struct is_scalar_impl<void>{ BOOST_STATIC_CONSTANT(bool, value = false ); };#ifndef BOOST_NO_CV_VOID_SPECIALIZATIONStemplate <> struct is_scalar_impl<void const>{ BOOST_STATIC_CONSTANT(bool, value = false ); };template <> struct is_scalar_impl<void volatile>{ BOOST_STATIC_CONSTANT(bool, value = false ); };template <> struct is_scalar_impl<void const volatile>{ BOOST_STATIC_CONSTANT(bool, value = false ); };#endif} // namespace detailBOOST_TT_AUX_BOOL_TRAIT_DEF1(is_scalar,T,::boost::detail::is_scalar_impl<T>::value)} // namespace boost#include "boost/type_traits/detail/bool_trait_undef.hpp"#endif // BOOST_TT_IS_SCALAR_HPP_INCLUDED
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?