#ifndef BOOST_ENDIAN_DETAIL_IS_TRIVIALLY_COPYABLE_HPP_INCLUDED #define BOOST_ENDIAN_DETAIL_IS_TRIVIALLY_COPYABLE_HPP_INCLUDED // Copyright 2019 Peter Dimov // // Distributed under the Boost Software License, Version 1.0. // http://www.boost.org/LICENSE_1_0.txt #include #include #include #include #if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) # include #endif namespace boost { namespace endian { namespace detail { #if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) using std::is_trivially_copyable; #else template struct is_trivially_copyable: boost::integral_constant::value && boost::has_trivial_assign::value && boost::has_trivial_destructor::value> {}; #endif } // namespace detail } // namespace endian } // namespace boost #endif // BOOST_ENDIAN_DETAIL_IS_TRIVIALLY_COPYABLE_HPP_INCLUDED