annotate DEPENDENCIES/generic/include/boost/serialization/is_bitwise_serializable.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents c530137014c0
children
rev   line source
Chris@16 1 // (C) Copyright 2007 Matthias Troyer
Chris@16 2
Chris@16 3 // Use, modification and distribution is subject to the Boost Software
Chris@16 4 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
Chris@16 5 // http://www.boost.org/LICENSE_1_0.txt)
Chris@16 6
Chris@16 7 // Authors: Matthias Troyer
Chris@16 8
Chris@16 9 /** @file is_bitwise_serializable.hpp
Chris@16 10 *
Chris@16 11 * This header provides a traits class for determining whether a class
Chris@16 12 * can be serialized (in a non-portable way) just by copying the bits.
Chris@16 13 */
Chris@16 14
Chris@16 15
Chris@16 16 #ifndef BOOST_SERIALIZATION_IS_BITWISE_SERIALIZABLE_HPP
Chris@16 17 #define BOOST_SERIALIZATION_IS_BITWISE_SERIALIZABLE_HPP
Chris@16 18
Chris@16 19 // MS compatible compilers support #pragma once
Chris@101 20 #if defined(_MSC_VER)
Chris@16 21 # pragma once
Chris@16 22 #endif
Chris@16 23
Chris@16 24 #include <boost/mpl/bool.hpp>
Chris@16 25 #include <boost/type_traits/is_arithmetic.hpp>
Chris@16 26
Chris@16 27 namespace boost {
Chris@16 28 namespace serialization {
Chris@16 29 template<class T>
Chris@16 30 struct is_bitwise_serializable
Chris@16 31 : public is_arithmetic< T >
Chris@16 32 {};
Chris@16 33 } // namespace serialization
Chris@16 34 } // namespace boost
Chris@16 35
Chris@16 36
Chris@16 37 // define a macro to make explicit designation of this more transparent
Chris@16 38 #define BOOST_IS_BITWISE_SERIALIZABLE(T) \
Chris@16 39 namespace boost { \
Chris@16 40 namespace serialization { \
Chris@16 41 template<> \
Chris@16 42 struct is_bitwise_serializable< T > : mpl::true_ {}; \
Chris@16 43 }} \
Chris@16 44 /**/
Chris@16 45
Chris@16 46 #endif //BOOST_SERIALIZATION_IS_BITWISE_SERIALIZABLE_HPP