From a44c228e28d3d82137e9efe376b425013aa59f0a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bart=C5=82omiej=20Piotrowski?= <bpiotrowski@archlinux.org>
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 <vector>
+#include <valarray>
+
+namespace boost {
+namespace serialization { 
+namespace detail {
+
+template <class T, class Allocator>
+T* get_data(STD::vector<T,Allocator>& v)
+{
+  return v.empty() ? 0 : &(v[0]);
+}
+
+template <class T, class Allocator>
+T* get_data(STD::vector<T,Allocator> const & v)
+{
+  return get_data(const_cast<STD::vector<T,Allocator>&>(v));
+}
+
+template <class T>
+T* get_data(STD::valarray<T>& v)
+{
+  return v.size()==0 ? 0 : &(v[0]);
+}
+
+template <class T>
+const T* get_data(STD::valarray<T> const& v)
+{
+  return get_data(const_cast<STD::valarray<T>&>(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 <ramey@rrsd.com>
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 <boost/serialization/array_wrapper.hpp>
+
 #ifndef BOOST_NO_CXX11_HDR_ARRAY
 
 #include <array>
