Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:45:25

0001 #ifndef BOOST_ENDIAN_DETAIL_IS_TRIVIALLY_COPYABLE_HPP_INCLUDED
0002 #define BOOST_ENDIAN_DETAIL_IS_TRIVIALLY_COPYABLE_HPP_INCLUDED
0003 
0004 // Copyright 2019, 2023 Peter Dimov
0005 // Distributed under the Boost Software License, Version 1.0.
0006 // http://www.boost.org/LICENSE_1_0.txt
0007 
0008 #include <boost/config.hpp>
0009 #include <type_traits>
0010 
0011 namespace boost
0012 {
0013 namespace endian
0014 {
0015 namespace detail
0016 {
0017 
0018 #if defined( BOOST_LIBSTDCXX_VERSION ) && BOOST_LIBSTDCXX_VERSION < 50000
0019 
0020 template<class T> struct is_trivially_copyable: std::integral_constant<bool,
0021     __has_trivial_copy(T) && __has_trivial_assign(T) && __has_trivial_destructor(T)> {};
0022 
0023 #else
0024 
0025 using std::is_trivially_copyable;
0026 
0027 #endif
0028 
0029 } // namespace detail
0030 } // namespace endian
0031 } // namespace boost
0032 
0033 #endif  // BOOST_ENDIAN_DETAIL_IS_TRIVIALLY_COPYABLE_HPP_INCLUDED