Skip to content

Commit

Permalink
Updating to boost 1.60
Browse files Browse the repository at this point in the history
Performend using our `./update_boost.sh` script.
  • Loading branch information
Valloric committed Jan 29, 2016
1 parent 48e2594 commit a6e9e4e
Show file tree
Hide file tree
Showing 980 changed files with 33,023 additions and 26,068 deletions.
86 changes: 86 additions & 0 deletions cpp/BoostParts/boost/algorithm/cxx11/all_of.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
/*
Copyright (c) Marshall Clow 2008-2012.
Distributed under 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)
*/

/// \file all_of.hpp
/// \brief Test ranges to see if all elements match a value or predicate.
/// \author Marshall Clow

#ifndef BOOST_ALGORITHM_ALL_OF_HPP
#define BOOST_ALGORITHM_ALL_OF_HPP

#include <algorithm> // for std::all_of, if available
#include <boost/range/begin.hpp>
#include <boost/range/end.hpp>

namespace boost { namespace algorithm {

/// \fn all_of ( InputIterator first, InputIterator last, Predicate p )
/// \return true if all elements in [first, last) satisfy the predicate 'p'
/// \note returns true on an empty range
///
/// \param first The start of the input sequence
/// \param last One past the end of the input sequence
/// \param p A predicate for testing the elements of the sequence
///
/// \note This function is part of the C++2011 standard library.
/// We will use the standard one if it is available,
/// otherwise we have our own implementation.
template<typename InputIterator, typename Predicate>
bool all_of ( InputIterator first, InputIterator last, Predicate p )
{
for ( ; first != last; ++first )
if ( !p(*first))
return false;
return true;
}

/// \fn all_of ( const Range &r, Predicate p )
/// \return true if all elements in the range satisfy the predicate 'p'
/// \note returns true on an empty range
///
/// \param r The input range
/// \param p A predicate for testing the elements of the range
///
template<typename Range, typename Predicate>
bool all_of ( const Range &r, Predicate p )
{
return boost::algorithm::all_of ( boost::begin (r), boost::end (r), p );
}

/// \fn all_of_equal ( InputIterator first, InputIterator last, const T &val )
/// \return true if all elements in [first, last) are equal to 'val'
/// \note returns true on an empty range
///
/// \param first The start of the input sequence
/// \param last One past the end of the input sequence
/// \param val A value to compare against
///
template<typename InputIterator, typename T>
bool all_of_equal ( InputIterator first, InputIterator last, const T &val )
{
for ( ; first != last; ++first )
if ( val != *first )
return false;
return true;
}

/// \fn all_of_equal ( const Range &r, const T &val )
/// \return true if all elements in the range are equal to 'val'
/// \note returns true on an empty range
///
/// \param r The input range
/// \param val A value to compare against
///
template<typename Range, typename T>
bool all_of_equal ( const Range &r, const T &val )
{
return boost::algorithm::all_of_equal ( boost::begin (r), boost::end (r), val );
}

}} // namespace boost and algorithm

#endif // BOOST_ALGORITHM_ALL_OF_HPP
10 changes: 5 additions & 5 deletions cpp/BoostParts/boost/align/align.hpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/*
(c) 2014 Glen Joseph Fernandes
glenjofe at gmail dot com
(c) 2014 Glen Joseph Fernandes
<glenjofe -at- gmail.com>
Distributed under the Boost Software
License, Version 1.0.
http://boost.org/LICENSE_1_0.txt
Distributed under the Boost Software
License, Version 1.0.
http://boost.org/LICENSE_1_0.txt
*/
#ifndef BOOST_ALIGN_ALIGN_HPP
#define BOOST_ALIGN_ALIGN_HPP
Expand Down
26 changes: 14 additions & 12 deletions cpp/BoostParts/boost/align/detail/address.hpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/*
(c) 2014 Glen Joseph Fernandes
glenjofe at gmail dot com
(c) 2014 Glen Joseph Fernandes
<glenjofe -at- gmail.com>
Distributed under the Boost Software
License, Version 1.0.
http://boost.org/LICENSE_1_0.txt
Distributed under the Boost Software
License, Version 1.0.
http://boost.org/LICENSE_1_0.txt
*/
#ifndef BOOST_ALIGN_DETAIL_ADDRESS_HPP
#define BOOST_ALIGN_DETAIL_ADDRESS_HPP
Expand All @@ -13,15 +13,17 @@
#include <cstddef>

namespace boost {
namespace alignment {
namespace detail {
namespace alignment {
namespace detail {

#if defined(BOOST_HAS_INTPTR_T)
typedef boost::uintptr_t address_t;
typedef boost::uintptr_t address;
#else
typedef std::size_t address_t;
typedef std::size_t address;
#endif
}
}
}

} /* .detail */
} /* .alignment */
} /* .boost */

#endif
46 changes: 24 additions & 22 deletions cpp/BoostParts/boost/align/detail/align.hpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/*
(c) 2014 Glen Joseph Fernandes
glenjofe at gmail dot com
(c) 2014 Glen Joseph Fernandes
<glenjofe -at- gmail.com>
Distributed under the Boost Software
License, Version 1.0.
http://boost.org/LICENSE_1_0.txt
Distributed under the Boost Software
License, Version 1.0.
http://boost.org/LICENSE_1_0.txt
*/
#ifndef BOOST_ALIGN_DETAIL_ALIGN_HPP
#define BOOST_ALIGN_DETAIL_ALIGN_HPP
Expand All @@ -15,24 +15,26 @@
#include <cstddef>

namespace boost {
namespace alignment {
inline void* align(std::size_t alignment, std::size_t size,
void*& ptr, std::size_t& space)
{
BOOST_ASSERT(detail::is_alignment(alignment));
std::size_t n = detail::address_t(ptr) & (alignment - 1);
if (n != 0) {
n = alignment - n;
}
void* p = 0;
if (n <= space && size <= space - n) {
p = static_cast<char*>(ptr) + n;
ptr = p;
space -= n;
}
return p;
}
namespace alignment {

inline void* align(std::size_t alignment, std::size_t size,
void*& ptr, std::size_t& space)
{
BOOST_ASSERT(detail::is_alignment(alignment));
std::size_t n = detail::address(ptr) & (alignment - 1);
if (n != 0) {
n = alignment - n;
}
void* p = 0;
if (n <= space && size <= space - n) {
p = static_cast<char*>(ptr) + n;
ptr = p;
space -= n;
}
return p;
}

} /* .alignment */
} /* .boost */

#endif
20 changes: 11 additions & 9 deletions cpp/BoostParts/boost/align/detail/align_cxx11.hpp
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
/*
(c) 2014 Glen Joseph Fernandes
glenjofe at gmail dot com
(c) 2014 Glen Joseph Fernandes
<glenjofe -at- gmail.com>
Distributed under the Boost Software
License, Version 1.0.
http://boost.org/LICENSE_1_0.txt
Distributed under the Boost Software
License, Version 1.0.
http://boost.org/LICENSE_1_0.txt
*/
#ifndef BOOST_ALIGN_DETAIL_ALIGN_CXX11_HPP
#define BOOST_ALIGN_DETAIL_ALIGN_CXX11_HPP

#include <memory>

namespace boost {
namespace alignment {
using std::align;
}
}
namespace alignment {

using std::align;

} /* .alignment */
} /* .boost */

#endif
30 changes: 16 additions & 14 deletions cpp/BoostParts/boost/align/detail/is_alignment.hpp
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/*
(c) 2014 Glen Joseph Fernandes
glenjofe at gmail dot com
(c) 2014 Glen Joseph Fernandes
<glenjofe -at- gmail.com>
Distributed under the Boost Software
License, Version 1.0.
http://boost.org/LICENSE_1_0.txt
Distributed under the Boost Software
License, Version 1.0.
http://boost.org/LICENSE_1_0.txt
*/
#ifndef BOOST_ALIGN_DETAIL_IS_ALIGNMENT_HPP
#define BOOST_ALIGN_DETAIL_IS_ALIGNMENT_HPP
Expand All @@ -13,15 +13,17 @@
#include <cstddef>

namespace boost {
namespace alignment {
namespace detail {
BOOST_CONSTEXPR inline bool is_alignment(std::size_t
value) BOOST_NOEXCEPT
{
return (value > 0) && ((value & (value - 1)) == 0);
}
}
}
namespace alignment {
namespace detail {

BOOST_CONSTEXPR inline bool is_alignment(std::size_t value)
BOOST_NOEXCEPT
{
return (value > 0) && ((value & (value - 1)) == 0);
}

} /* .detail */
} /* .alignment */
} /* .boost */

#endif
Loading

0 comments on commit a6e9e4e

Please sign in to comment.