-
Notifications
You must be signed in to change notification settings - Fork 770
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Performend using our `./update_boost.sh` script.
- Loading branch information
Showing
980 changed files
with
33,023 additions
and
26,068 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.