add C++14 constexpr range algorithms

This commit is contained in:
bolero-MURAKAMI 2014-04-09 18:11:40 +09:00
parent 856fb90150
commit cd16923347
57 changed files with 2022 additions and 12 deletions

View file

@ -18,11 +18,11 @@ namespace sprout {
// 25.3.2 Move
//
template<
typename InputIterator, typename OutputIterator,
typename sprout::enabler_if<sprout::is_iterator_outputable<OutputIterator>::value>::type = sprout::enabler
typename BidirectionalIterator1, typename BidirectionalIterator2,
typename sprout::enabler_if<sprout::is_iterator_outputable<BidirectionalIterator2>::value>::type = sprout::enabler
>
inline SPROUT_CXX14_CONSTEXPR OutputIterator
move_backward(InputIterator first, InputIterator last, OutputIterator result) {
inline SPROUT_CXX14_CONSTEXPR BidirectionalIterator2
move_backward(BidirectionalIterator1 first, BidirectionalIterator1 last, BidirectionalIterator2 result) {
while (first != last) {
*--result = sprout::move(*--first);
}