summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2014-10-19 20:22:58 (GMT)
committerTobias Markmann <tm@ayena.de>2014-10-20 13:49:33 (GMT)
commit6b22dfcf59474dd016a0355a3102a1dd3692d92c (patch)
tree2b1fd33be433a91e81fee84fdc2bf1b52575d934 /3rdParty/Boost/src/boost/align/align.hpp
parent38b0cb785fea8eae5e48fae56440695fdfd10ee1 (diff)
downloadswift-6b22dfcf59474dd016a0355a3102a1dd3692d92c.zip
swift-6b22dfcf59474dd016a0355a3102a1dd3692d92c.tar.bz2
Update Boost in 3rdParty to version 1.56.0.
This updates Boost in our 3rdParty directory to version 1.56.0. Updated our update.sh script to stop on error. Changed error reporting in SwiftTools/CrashReporter.cpp to SWIFT_LOG due to missing include of <iostream> with newer Boost. Change-Id: I4b35c77de951333979a524097f35f5f83d325edc
Diffstat (limited to '3rdParty/Boost/src/boost/align/align.hpp')
-rw-r--r--3rdParty/Boost/src/boost/align/align.hpp86
1 files changed, 86 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/align/align.hpp b/3rdParty/Boost/src/boost/align/align.hpp
new file mode 100644
index 0000000..8d29fca
--- /dev/null
+++ b/3rdParty/Boost/src/boost/align/align.hpp
@@ -0,0 +1,86 @@
+/*
+ Copyright (c) 2014 Glen Joseph Fernandes
+ glenfe at live dot com
+
+ Distributed under the Boost Software License,
+ Version 1.0. (See accompanying file LICENSE_1_0.txt
+ or copy at http://boost.org/LICENSE_1_0.txt)
+*/
+#ifndef BOOST_ALIGN_ALIGN_HPP
+#define BOOST_ALIGN_ALIGN_HPP
+
+/**
+ Function align.
+
+ @file
+ @author Glen Fernandes
+*/
+
+#include <boost/config.hpp>
+
+/**
+ @cond
+*/
+#if !defined(BOOST_NO_CXX11_STD_ALIGN)
+#include <boost/align/detail/align_cxx11.hpp>
+#else
+#include <boost/align/detail/align.hpp>
+#endif
+
+#if defined(BOOST_NO_CXX11_STD_ALIGN)
+/**
+ @endcond
+*/
+
+/**
+ Boost namespace.
+*/
+namespace boost {
+ /**
+ Alignment namespace.
+ */
+ namespace alignment {
+ /**
+ If it is possible to fit `size` bytes of storage
+ aligned by `alignment` into the buffer pointed to by
+ `ptr` with length `space`, the function updates `ptr`
+ to point to the first possible address of such
+ storage and decreases `space` by the number of bytes
+ used for alignment. Otherwise, the function does
+ nothing.
+
+ @param alignment Shall be a fundamental alignment
+ value or an extended alignment value, and shall be
+ a power of two.
+
+ @param size The size in bytes of storage to fit into
+ the buffer.
+
+ @param ptr Shall point to contiguous storage of at
+ least `space` bytes.
+
+ @param space The length of the buffer.
+
+ @return A null pointer if the requested aligned
+ buffer would not fit into the available space,
+ otherwise the adjusted value of `ptr`.
+
+ @remark **Note:** The function updates its `ptr` and
+ space arguments so that it can be called repeatedly
+ with possibly different `alignment` and `size`
+ arguments for the same buffer.
+ */
+ inline void* align(std::size_t alignment, std::size_t size,
+ void*& ptr, std::size_t& space);
+ }
+}
+
+/**
+ @cond
+*/
+#endif
+/**
+ @endcond
+*/
+
+#endif