From a44c228e28d3d82137e9efe376b425013aa59f0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Piotrowski?= Date: Tue, 16 May 2017 15:08:59 +0200 Subject: [PATCH] Restore boost/serialization/detail/get_data.hpp This reverts commit d558b6da917ecae1036adf9b22a0741c78f627ff. --- include/boost/serialization/detail/get_data.hpp | 59 +++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 include/boost/serialization/detail/get_data.hpp diff --git a/include/boost/serialization/detail/get_data.hpp b/include/boost/serialization/detail/get_data.hpp new file mode 100644 index 00000000..37da7fc3 --- /dev/null +++ b/include/boost/serialization/detail/get_data.hpp @@ -0,0 +1,59 @@ +// (C) Copyright 2005 Matthias Troyer +// Use, modification and distribution is 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 for updates, documentation, and revision history. + +#ifndef BOOST_SERIALIZATION_DETAIL_GET_DATA_HPP +#define BOOST_SERIALIZATION_DETAIL_GET_DATA_HPP + +// MS compatible compilers support #pragma once +#if defined(_MSC_VER) +# pragma once +#endif + +#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) +#define STD _STLP_STD +#else +#define STD std +#endif + +#include +#include + +namespace boost { +namespace serialization { +namespace detail { + +template +T* get_data(STD::vector& v) +{ + return v.empty() ? 0 : &(v[0]); +} + +template +T* get_data(STD::vector const & v) +{ + return get_data(const_cast&>(v)); +} + +template +T* get_data(STD::valarray& v) +{ + return v.size()==0 ? 0 : &(v[0]); +} + +template +const T* get_data(STD::valarray const& v) +{ + return get_data(const_cast&>(v)); +} + +} // detail +} // serialization +} // boost + +#undef STD + +#endif // BOOST_SERIALIZATION_DETAIL_GET_DATA_HPP -- 2.13.0 From 1d86261581230e2dc5d617a9b16287d326f3e229 Mon Sep 17 00:00:00 2001 From: Robert Ramey Date: Wed, 1 Feb 2017 16:43:59 -0800 Subject: [PATCH] correct error which appeared when compiling non c++ compliant code for arrays --- include/boost/serialization/array.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/boost/serialization/array.hpp b/include/boost/serialization/array.hpp index 61708b3..612d1a6 100644 --- a/include/boost/serialization/array.hpp +++ b/include/boost/serialization/array.hpp @@ -23,6 +23,8 @@ namespace std{ } // namespace std #endif +#include + #ifndef BOOST_NO_CXX11_HDR_ARRAY #include