fix for GCC4.8 RC

This commit is contained in:
bolero-MURAKAMI 2013-03-21 20:00:42 +09:00
parent 57bcbc6cdb
commit 2cb55b6b6c
55 changed files with 48 additions and 99 deletions

View file

@ -94,7 +94,6 @@ namespace sprout {
ForwardIterator last, BinaryPredicate pred, typename std::iterator_traits<ForwardIterator>::difference_type n ForwardIterator last, BinaryPredicate pred, typename std::iterator_traits<ForwardIterator>::difference_type n
) )
{ {
typedef sprout::pair<ForwardIterator, ForwardIterator> type;
return current.second == last ? current return current.second == last ? current
: sprout::detail::adjacent_find_impl( : sprout::detail::adjacent_find_impl(
sprout::detail::adjacent_find_impl_1( sprout::detail::adjacent_find_impl_1(

View file

@ -69,7 +69,6 @@ namespace sprout {
InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, bool> type;
return !current.second || current.first == last ? current return !current.second || current.first == last ? current
: sprout::detail::all_of_impl( : sprout::detail::all_of_impl(
sprout::detail::all_of_impl_1( sprout::detail::all_of_impl_1(

View file

@ -69,7 +69,6 @@ namespace sprout {
InputIterator last, T const& value, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, T const& value, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, bool> type;
return !current.second || current.first == last ? current return !current.second || current.first == last ? current
: sprout::detail::all_of_equal_impl( : sprout::detail::all_of_equal_impl(
sprout::detail::all_of_equal_impl_1( sprout::detail::all_of_equal_impl_1(

View file

@ -69,7 +69,6 @@ namespace sprout {
InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, bool> type;
return current.second || current.first == last ? current return current.second || current.first == last ? current
: sprout::detail::any_of_impl( : sprout::detail::any_of_impl(
sprout::detail::any_of_impl_1( sprout::detail::any_of_impl_1(

View file

@ -69,7 +69,6 @@ namespace sprout {
InputIterator last, T const& value, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, T const& value, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, bool> type;
return current.second || current.first == last ? current return current.second || current.first == last ? current
: sprout::detail::any_of_equal_impl( : sprout::detail::any_of_equal_impl(
sprout::detail::any_of_equal_impl_1( sprout::detail::any_of_equal_impl_1(

View file

@ -69,7 +69,6 @@ namespace sprout {
InputIterator last, T const& value, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, T const& value, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, typename std::iterator_traits<InputIterator>::difference_type> type;
return current.first == last ? current return current.first == last ? current
: sprout::detail::count_impl( : sprout::detail::count_impl(
sprout::detail::count_impl_1( sprout::detail::count_impl_1(

View file

@ -69,7 +69,6 @@ namespace sprout {
InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, typename std::iterator_traits<InputIterator>::difference_type> type;
return current.first == last ? current return current.first == last ? current
: sprout::detail::count_if_impl( : sprout::detail::count_if_impl(
sprout::detail::count_if_impl_1( sprout::detail::count_if_impl_1(

View file

@ -76,7 +76,6 @@ namespace sprout {
InputIterator1 last1, BinaryPredicate pred, typename std::iterator_traits<InputIterator1>::difference_type n InputIterator1 last1, BinaryPredicate pred, typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::tuples::tuple<InputIterator1, InputIterator2, bool> type;
return !sprout::tuples::get<2>(current) || sprout::tuples::get<0>(current) == last1 ? current return !sprout::tuples::get<2>(current) || sprout::tuples::get<0>(current) == last1 ? current
: sprout::detail::equal_impl( : sprout::detail::equal_impl(
sprout::detail::equal_impl_1( sprout::detail::equal_impl_1(

View file

@ -71,7 +71,6 @@ namespace sprout {
InputIterator last, T const& value, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, T const& value, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, bool> type;
return current.second || current.first == last ? current return current.second || current.first == last ? current
: sprout::detail::find_impl( : sprout::detail::find_impl(
sprout::detail::find_impl_1( sprout::detail::find_impl_1(

View file

@ -59,7 +59,6 @@ namespace sprout {
InputIterator1 last1, InputIterator2 last2, Compare comp, typename std::iterator_traits<InputIterator1>::difference_type n InputIterator1 last1, InputIterator2 last2, Compare comp, typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::tuples::tuple<InputIterator1, InputIterator2, bool> type;
return sprout::tuples::get<2>(current) || sprout::tuples::get<0>(current) == last1 ? current return sprout::tuples::get<2>(current) || sprout::tuples::get<0>(current) == last1 ? current
: sprout::detail::find_difference_impl( : sprout::detail::find_difference_impl(
sprout::detail::find_difference_impl_1( sprout::detail::find_difference_impl_1(

View file

@ -94,7 +94,6 @@ namespace sprout {
typename std::iterator_traits<ForwardIterator1>::difference_type n typename std::iterator_traits<ForwardIterator1>::difference_type n
) )
{ {
typedef sprout::pair<ForwardIterator1, ForwardIterator1> type;
return current.first == last1 ? current return current.first == last1 ? current
: n == 1 ? sprout::detail::find_end_impl_check( : n == 1 ? sprout::detail::find_end_impl_check(
current, last1, current, last1,
@ -117,7 +116,6 @@ namespace sprout {
typename std::iterator_traits<ForwardIterator1>::difference_type n typename std::iterator_traits<ForwardIterator1>::difference_type n
) )
{ {
typedef sprout::pair<ForwardIterator1, ForwardIterator1> type;
return current.first == last1 ? current return current.first == last1 ? current
: sprout::detail::find_end_impl( : sprout::detail::find_end_impl(
sprout::detail::find_end_impl_1( sprout::detail::find_end_impl_1(

View file

@ -85,7 +85,6 @@ namespace sprout {
typename std::iterator_traits<InputIterator1>::difference_type n typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator1, bool> type;
return current.second || current.first == last1 ? current return current.second || current.first == last1 ? current
: sprout::detail::find_first_of_impl( : sprout::detail::find_first_of_impl(
sprout::detail::find_first_of_impl_1( sprout::detail::find_first_of_impl_1(

View file

@ -71,7 +71,6 @@ namespace sprout {
InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, bool> type;
return current.second || current.first == last ? current return current.second || current.first == last ? current
: sprout::detail::find_if_impl( : sprout::detail::find_if_impl(
sprout::detail::find_if_impl_1( sprout::detail::find_if_impl_1(

View file

@ -71,7 +71,6 @@ namespace sprout {
InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, bool> type;
return current.second || current.first == last ? current return current.second || current.first == last ? current
: sprout::detail::find_if_not_impl( : sprout::detail::find_if_not_impl(
sprout::detail::find_if_not_impl_1( sprout::detail::find_if_not_impl_1(

View file

@ -57,7 +57,6 @@ namespace sprout {
InputIterator1 last1, InputIterator2 last2, Compare comp, typename std::iterator_traits<InputIterator1>::difference_type n InputIterator1 last1, InputIterator2 last2, Compare comp, typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::tuples::tuple<InputIterator1, InputIterator2, bool> type;
return sprout::tuples::get<2>(current) || sprout::tuples::get<0>(current) == last1 || sprout::tuples::get<1>(current) == last2 ? current return sprout::tuples::get<2>(current) || sprout::tuples::get<0>(current) == last1 || sprout::tuples::get<1>(current) == last2 ? current
: sprout::detail::find_intersection_impl( : sprout::detail::find_intersection_impl(
sprout::detail::find_intersection_impl_1( sprout::detail::find_intersection_impl_1(

View file

@ -48,7 +48,6 @@ namespace sprout {
InputIterator1 last1, InputIterator2 last2, Compare comp, typename std::iterator_traits<InputIterator1>::difference_type n InputIterator1 last1, InputIterator2 last2, Compare comp, typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::tuples::tuple<InputIterator1, InputIterator2, bool> type;
return sprout::tuples::get<2>(current) || sprout::tuples::get<0>(current) == last1 ? current return sprout::tuples::get<2>(current) || sprout::tuples::get<0>(current) == last1 ? current
: sprout::detail::find_symmetric_difference_impl( : sprout::detail::find_symmetric_difference_impl(
sprout::detail::find_symmetric_difference_impl_1( sprout::detail::find_symmetric_difference_impl_1(

View file

@ -45,7 +45,6 @@ namespace sprout {
Compare comp, Difference n Compare comp, Difference n
) )
{ {
typedef sprout::pair<ResultType, bool> type;
return current.second ? current return current.second ? current
: sprout::fixed::detail::bogo_sort_result_impl<ResultType>( : sprout::fixed::detail::bogo_sort_result_impl<ResultType>(
sprout::fixed::detail::bogo_sort_result_impl_1<ResultType>( sprout::fixed::detail::bogo_sort_result_impl_1<ResultType>(

View file

@ -45,7 +45,6 @@ namespace sprout {
Compare comp, Difference n Compare comp, Difference n
) )
{ {
typedef sprout::pair<ResultType, bool> type;
return current.second ? current return current.second ? current
: sprout::fixed::detail::bozo_sort_result_impl<ResultType>( : sprout::fixed::detail::bozo_sort_result_impl<ResultType>(
sprout::fixed::detail::bozo_sort_result_impl_1<ResultType>( sprout::fixed::detail::bozo_sort_result_impl_1<ResultType>(

View file

@ -82,7 +82,6 @@ namespace sprout {
typename std::iterator_traits<InputIterator1>::difference_type n typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator1, InputIterator2> type;
return current.second == last2 || current.first == last1 ? current return current.second == last2 || current.first == last1 ? current
: sprout::detail::includes_impl( : sprout::detail::includes_impl(
sprout::detail::includes_impl_1( sprout::detail::includes_impl_1(

View file

@ -63,7 +63,6 @@ namespace sprout {
InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, typename std::iterator_traits<InputIterator>::difference_type> type;
return current.second > 1 || current.first == last ? current return current.second > 1 || current.first == last ? current
: sprout::detail::is_partitioned_impl( : sprout::detail::is_partitioned_impl(
sprout::detail::is_partitioned_impl_1( sprout::detail::is_partitioned_impl_1(

View file

@ -84,7 +84,6 @@ namespace sprout {
BinaryPredicate pred, typename std::iterator_traits<ForwardIterator1>::difference_type n BinaryPredicate pred, typename std::iterator_traits<ForwardIterator1>::difference_type n
) )
{ {
typedef sprout::pair<ForwardIterator1, bool> type;
return !current.second || current.first == last1 ? current return !current.second || current.first == last1 ? current
: sprout::detail::is_permutation_impl( : sprout::detail::is_permutation_impl(
sprout::detail::is_permutation_impl_1( sprout::detail::is_permutation_impl_1(

View file

@ -79,7 +79,6 @@ namespace sprout {
ForwardIterator last, Compare comp, typename std::iterator_traits<ForwardIterator>::difference_type n ForwardIterator last, Compare comp, typename std::iterator_traits<ForwardIterator>::difference_type n
) )
{ {
typedef sprout::pair<ForwardIterator, ForwardIterator> type;
return current.second == last ? current return current.second == last ? current
: sprout::detail::is_sorted_until_impl( : sprout::detail::is_sorted_until_impl(
sprout::detail::is_sorted_until_impl_1( sprout::detail::is_sorted_until_impl_1(

View file

@ -111,7 +111,6 @@ namespace sprout {
typename std::iterator_traits<InputIterator1>::difference_type n typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator1, InputIterator2> type;
return current.second == last2 || current.first == last1 ? current return current.second == last2 || current.first == last1 ? current
: sprout::detail::lexicographical_compare_impl( : sprout::detail::lexicographical_compare_impl(
sprout::detail::lexicographical_compare_impl_1( sprout::detail::lexicographical_compare_impl_1(

View file

@ -82,7 +82,6 @@ namespace sprout {
ForwardIterator last, Compare comp, typename std::iterator_traits<ForwardIterator>::difference_type n ForwardIterator last, Compare comp, typename std::iterator_traits<ForwardIterator>::difference_type n
) )
{ {
typedef sprout::pair<ForwardIterator, ForwardIterator> type;
return current.first == last ? current return current.first == last ? current
: sprout::detail::max_element_impl( : sprout::detail::max_element_impl(
sprout::detail::max_element_impl_1( sprout::detail::max_element_impl_1(

View file

@ -82,7 +82,6 @@ namespace sprout {
ForwardIterator last, Compare comp, typename std::iterator_traits<ForwardIterator>::difference_type n ForwardIterator last, Compare comp, typename std::iterator_traits<ForwardIterator>::difference_type n
) )
{ {
typedef sprout::pair<ForwardIterator, ForwardIterator> type;
return current.first == last ? current return current.first == last ? current
: sprout::detail::min_element_impl( : sprout::detail::min_element_impl(
sprout::detail::min_element_impl_1( sprout::detail::min_element_impl_1(

View file

@ -94,7 +94,6 @@ namespace sprout {
ForwardIterator last, Compare comp, typename std::iterator_traits<ForwardIterator>::difference_type n ForwardIterator last, Compare comp, typename std::iterator_traits<ForwardIterator>::difference_type n
) )
{ {
typedef sprout::pair<ForwardIterator, sprout::pair<ForwardIterator, ForwardIterator> > type;
return current.first == last ? current return current.first == last ? current
: sprout::detail::minmax_element_impl( : sprout::detail::minmax_element_impl(
sprout::detail::minmax_element_impl_1( sprout::detail::minmax_element_impl_1(

View file

@ -97,7 +97,6 @@ namespace sprout {
InputIterator1 last1, BinaryPredicate pred, typename std::iterator_traits<InputIterator1>::difference_type n InputIterator1 last1, BinaryPredicate pred, typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::tuples::tuple<InputIterator1, InputIterator2, bool> type;
return sprout::tuples::get<2>(current) || sprout::tuples::get<0>(current) == last1 ? current return sprout::tuples::get<2>(current) || sprout::tuples::get<0>(current) == last1 ? current
: sprout::detail::mismatch_impl( : sprout::detail::mismatch_impl(
sprout::detail::mismatch_impl_1( sprout::detail::mismatch_impl_1(

View file

@ -69,7 +69,6 @@ namespace sprout {
InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, bool> type;
return !current.second || current.first == last ? current return !current.second || current.first == last ? current
: sprout::detail::none_of_impl( : sprout::detail::none_of_impl(
sprout::detail::none_of_impl_1( sprout::detail::none_of_impl_1(

View file

@ -69,7 +69,6 @@ namespace sprout {
InputIterator last, T const& value, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, T const& value, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, bool> type;
return !current.second || current.first == last ? current return !current.second || current.first == last ? current
: sprout::detail::none_of_equal_impl( : sprout::detail::none_of_equal_impl(
sprout::detail::none_of_equal_impl_1( sprout::detail::none_of_equal_impl_1(

View file

@ -93,7 +93,6 @@ namespace sprout {
InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, Predicate pred, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, typename std::iterator_traits<InputIterator>::difference_type> type;
return current.second > 1 || current.first == last ? current return current.second > 1 || current.first == last ? current
: sprout::detail::one_of_impl( : sprout::detail::one_of_impl(
sprout::detail::one_of_impl_1( sprout::detail::one_of_impl_1(

View file

@ -93,7 +93,6 @@ namespace sprout {
InputIterator last, T const& value, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, T const& value, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, typename std::iterator_traits<InputIterator>::difference_type> type;
return current.second > 1 || current.first == last ? current return current.second > 1 || current.first == last ? current
: sprout::detail::one_of_equal_impl( : sprout::detail::one_of_equal_impl(
sprout::detail::one_of_equal_impl_1( sprout::detail::one_of_equal_impl_1(

View file

@ -70,7 +70,6 @@ namespace sprout {
typename std::iterator_traits<ForwardIterator1>::difference_type n typename std::iterator_traits<ForwardIterator1>::difference_type n
) )
{ {
typedef sprout::pair<ForwardIterator1, bool> type;
return current.second || current.first == last1 ? current return current.second || current.first == last1 ? current
: n == 1 ? sprout::detail::search_impl_fork( : n == 1 ? sprout::detail::search_impl_fork(
current, last1, current, last1,
@ -93,7 +92,6 @@ namespace sprout {
typename std::iterator_traits<ForwardIterator1>::difference_type n typename std::iterator_traits<ForwardIterator1>::difference_type n
) )
{ {
typedef sprout::pair<ForwardIterator1, bool> type;
return current.second || current.first == last1 ? current return current.second || current.first == last1 ? current
: sprout::detail::search_impl( : sprout::detail::search_impl(
sprout::detail::search_impl_1( sprout::detail::search_impl_1(

View file

@ -114,7 +114,6 @@ namespace sprout {
typename std::iterator_traits<InputIterator1>::difference_type n typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator1, InputIterator2> type;
return current.second == last2 || current.first == last1 ? current return current.second == last2 || current.first == last1 ? current
: sprout::detail::tristate_lexicographical_compare_impl( : sprout::detail::tristate_lexicographical_compare_impl(
sprout::detail::tristate_lexicographical_compare_impl_1( sprout::detail::tristate_lexicographical_compare_impl_1(
@ -281,7 +280,6 @@ namespace sprout {
typename std::iterator_traits<InputIterator1>::difference_type n typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator1, InputIterator2> type;
return current.second == last2 || current.first == last1 ? current return current.second == last2 || current.first == last1 ? current
: sprout::detail::tristate_lexicographical_compare_impl( : sprout::detail::tristate_lexicographical_compare_impl(
sprout::detail::tristate_lexicographical_compare_impl_1( sprout::detail::tristate_lexicographical_compare_impl_1(

View file

@ -5,7 +5,6 @@
# include <sprout/config.hpp> # include <sprout/config.hpp>
#elif defined(SPROUT_ENABLE_ASSERT_HANDLER) #elif defined(SPROUT_ENABLE_ASSERT_HANDLER)
# include <sprout/config.hpp> # include <sprout/config.hpp>
# include <sprout/adl/not_found.hpp>
#else #else
# include <cstdlib> # include <cstdlib>
# include <iostream> # include <iostream>

View file

@ -7,6 +7,7 @@
#include <string> #include <string>
#include <algorithm> #include <algorithm>
#include <stdexcept> #include <stdexcept>
#include <type_traits>
#include <sprout/config.hpp> #include <sprout/config.hpp>
#include <sprout/container/traits.hpp> #include <sprout/container/traits.hpp>
#include <sprout/iterator/index_iterator.hpp> #include <sprout/iterator/index_iterator.hpp>
@ -26,6 +27,11 @@
namespace sprout { namespace sprout {
namespace detail { namespace detail {
template<std::size_t N>
struct size_t_
: public std::integral_constant<std::size_t, N>
{};
struct base_bitset_from_words_construct_tag {}; struct base_bitset_from_words_construct_tag {};
template<std::size_t N> template<std::size_t N>
@ -72,15 +78,15 @@ namespace sprout {
public: public:
static SPROUT_CONSTEXPR std::size_t static SPROUT_CONSTEXPR std::size_t
whichword(std::size_t pos) SPROUT_NOEXCEPT { whichword(std::size_t pos) SPROUT_NOEXCEPT {
return pos / (CHAR_BIT * sizeof(unsigned long)); return pos / (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value);
} }
static SPROUT_CONSTEXPR std::size_t static SPROUT_CONSTEXPR std::size_t
whichbyte(std::size_t pos) SPROUT_NOEXCEPT { whichbyte(std::size_t pos) SPROUT_NOEXCEPT {
return (pos % (CHAR_BIT * sizeof(unsigned long))) / CHAR_BIT; return (pos % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value)) / CHAR_BIT;
} }
static SPROUT_CONSTEXPR std::size_t static SPROUT_CONSTEXPR std::size_t
whichbit(std::size_t pos) SPROUT_NOEXCEPT { whichbit(std::size_t pos) SPROUT_NOEXCEPT {
return pos % (CHAR_BIT * sizeof(unsigned long)); return pos % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value);
} }
static SPROUT_CONSTEXPR word_type static SPROUT_CONSTEXPR word_type
maskbit(std::size_t pos) SPROUT_NOEXCEPT { maskbit(std::size_t pos) SPROUT_NOEXCEPT {
@ -97,7 +103,7 @@ namespace sprout {
{ {
return first == last ? not_found return first == last ? not_found
: *first != static_cast<word_type>(0) : *first != static_cast<word_type>(0)
? i * (CHAR_BIT * sizeof(unsigned long)) + sprout::ctz(*first) ? i * (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) + sprout::ctz(*first)
: find_first_impl(not_found, first + 1, last, i + 1) : find_first_impl(not_found, first + 1, last, i + 1)
; ;
} }
@ -109,14 +115,14 @@ namespace sprout {
{ {
return first == last ? not_found return first == last ? not_found
: *first != static_cast<word_type>(0) : *first != static_cast<word_type>(0)
? i * (CHAR_BIT * sizeof(unsigned long)) + sprout::ctz(*first) ? i * (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) + sprout::ctz(*first)
: find_next_impl_2(not_found, first + 1, last) : find_next_impl_2(not_found, first + 1, last)
; ;
} }
SPROUT_CONSTEXPR std::size_t SPROUT_CONSTEXPR std::size_t
find_next_impl_1(std::size_t not_found, std::size_t i, word_type thisword) const SPROUT_NOEXCEPT { find_next_impl_1(std::size_t not_found, std::size_t i, word_type thisword) const SPROUT_NOEXCEPT {
return thisword != static_cast<word_type>(0) return thisword != static_cast<word_type>(0)
? i * (CHAR_BIT * sizeof(unsigned long)) + sprout::ctz(thisword) ? i * (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) + sprout::ctz(thisword)
: find_next_impl_2(not_found, begin() + (i + 1), end(), i + 1) : find_next_impl_2(not_found, begin() + (i + 1), end(), i + 1)
; ;
} }
@ -162,7 +168,7 @@ namespace sprout {
sprout::index_range<0, N>::make() sprout::index_range<0, N>::make()
) )
: do_left_shift_impl_2( : do_left_shift_impl_2(
wshift, offset, (CHAR_BIT * sizeof(unsigned long)) - offset, wshift, offset, (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) - offset,
sprout::index_range<0, N>::make() sprout::index_range<0, N>::make()
) )
; ;
@ -206,7 +212,7 @@ namespace sprout {
sprout::index_range<0, N>::make() sprout::index_range<0, N>::make()
) )
: do_right_shift_impl_2( : do_right_shift_impl_2(
wshift, offset, limit, (CHAR_BIT * sizeof(unsigned long)) - offset, wshift, offset, limit, (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) - offset,
sprout::index_range<0, N>::make() sprout::index_range<0, N>::make()
) )
; ;
@ -216,7 +222,7 @@ namespace sprout {
: w_() : w_()
{} {}
SPROUT_CONSTEXPR base_bitset(unsigned long long val) SPROUT_NOEXCEPT SPROUT_CONSTEXPR base_bitset(unsigned long long val) SPROUT_NOEXCEPT
: w_{word_type(val), word_type(val >> (CHAR_BIT * sizeof(unsigned long)))} : w_{word_type(val), word_type(val >> (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value))}
{} {}
template<typename... Words> template<typename... Words>
SPROUT_CONSTEXPR base_bitset(sprout::detail::base_bitset_from_words_construct_tag, Words... words) SPROUT_CONSTEXPR base_bitset(sprout::detail::base_bitset_from_words_construct_tag, Words... words)
@ -296,14 +302,14 @@ namespace sprout {
void void
do_left_shift(std::size_t shift) SPROUT_NOEXCEPT { do_left_shift(std::size_t shift) SPROUT_NOEXCEPT {
if (shift != 0) { if (shift != 0) {
std::size_t const wshift = shift / (CHAR_BIT * sizeof(unsigned long)); std::size_t const wshift = shift / (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value);
std::size_t const offset = shift % (CHAR_BIT * sizeof(unsigned long)); std::size_t const offset = shift % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value);
if (offset == 0) { if (offset == 0) {
for (std::size_t n = N - 1; n >= wshift; --n) { for (std::size_t n = N - 1; n >= wshift; --n) {
w_[n] = w_[n - wshift]; w_[n] = w_[n - wshift];
} }
} else { } else {
std::size_t const sub_offset = (CHAR_BIT * sizeof(unsigned long)) - offset; std::size_t const sub_offset = (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) - offset;
for (std::size_t n = N - 1; n > wshift; --n) { for (std::size_t n = N - 1; n > wshift; --n) {
w_[n] = (w_[n - wshift] << offset) | (w_[n - wshift - 1] >> sub_offset); w_[n] = (w_[n - wshift] << offset) | (w_[n - wshift - 1] >> sub_offset);
} }
@ -315,8 +321,8 @@ namespace sprout {
SPROUT_CONSTEXPR base_bitset<N> SPROUT_CONSTEXPR base_bitset<N>
do_left_shift(std::size_t shift) const SPROUT_NOEXCEPT { do_left_shift(std::size_t shift) const SPROUT_NOEXCEPT {
return shift != 0 ? do_left_shift_impl( return shift != 0 ? do_left_shift_impl(
shift / (CHAR_BIT * sizeof(unsigned long)), shift / (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value),
shift % (CHAR_BIT * sizeof(unsigned long)) shift % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value)
) )
: *this : *this
; ;
@ -324,15 +330,15 @@ namespace sprout {
void void
do_right_shift(std::size_t shift) SPROUT_NOEXCEPT { do_right_shift(std::size_t shift) SPROUT_NOEXCEPT {
if (shift != 0) { if (shift != 0) {
std::size_t const wshift = shift / (CHAR_BIT * sizeof(unsigned long)); std::size_t const wshift = shift / (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value);
std::size_t const offset = shift % (CHAR_BIT * sizeof(unsigned long)); std::size_t const offset = shift % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value);
std::size_t const limit = N - wshift - 1; std::size_t const limit = N - wshift - 1;
if (offset == 0) { if (offset == 0) {
for (std::size_t n = 0; n <= limit; ++n) { for (std::size_t n = 0; n <= limit; ++n) {
w_[n] = w_[n + wshift]; w_[n] = w_[n + wshift];
} }
} else { } else {
std::size_t const sub_offset = (CHAR_BIT * sizeof(unsigned long)) - offset; std::size_t const sub_offset = (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) - offset;
for (std::size_t n = 0; n < limit; ++n) { for (std::size_t n = 0; n < limit; ++n) {
w_[n] = (w_[n + wshift] >> offset) | (w_[n + wshift + 1] << sub_offset); w_[n] = (w_[n + wshift] >> offset) | (w_[n + wshift + 1] << sub_offset);
} }
@ -344,9 +350,9 @@ namespace sprout {
SPROUT_CONSTEXPR base_bitset<N> SPROUT_CONSTEXPR base_bitset<N>
do_right_shift(std::size_t shift) const SPROUT_NOEXCEPT { do_right_shift(std::size_t shift) const SPROUT_NOEXCEPT {
return shift != 0 ? do_right_shift_impl( return shift != 0 ? do_right_shift_impl(
shift / (CHAR_BIT * sizeof(unsigned long)), shift / (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value),
shift % (CHAR_BIT * sizeof(unsigned long)), shift % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value),
N - shift / (CHAR_BIT * sizeof(unsigned long)) - 1 N - shift / (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) - 1
) )
: *this : *this
; ;
@ -379,7 +385,7 @@ namespace sprout {
} }
void void
do_reset() SPROUT_NOEXCEPT { do_reset() SPROUT_NOEXCEPT {
std::memset(w_, 0, N * sizeof(word_type)); std::memset(w_, 0, N * sprout::detail::size_t_<sizeof(word_type)>::value);
} }
SPROUT_CONSTEXPR bool SPROUT_CONSTEXPR bool
@ -390,7 +396,7 @@ namespace sprout {
SPROUT_CONSTEXPR bool SPROUT_CONSTEXPR bool
are_all() const SPROUT_NOEXCEPT { are_all() const SPROUT_NOEXCEPT {
return sprout::all_of(begin(), end() - 1, are_all_pred()) return sprout::all_of(begin(), end() - 1, are_all_pred())
&& hiword() == (~static_cast<word_type>(0) >> (N * (CHAR_BIT * sizeof(unsigned long)) - N2)) && hiword() == (~static_cast<word_type>(0) >> (N * (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) - N2))
; ;
} }
SPROUT_CONSTEXPR bool SPROUT_CONSTEXPR bool
@ -412,14 +418,14 @@ namespace sprout {
SPROUT_CONSTEXPR unsigned long long SPROUT_CONSTEXPR unsigned long long
do_to_ullong() const { do_to_ullong() const {
return sprout::find_if( return sprout::find_if(
sizeof(unsigned long long) > sizeof(unsigned long) ? begin() + 2 sprout::detail::size_t_<sizeof(unsigned long long)>::value > sprout::detail::size_t_<sizeof(unsigned long)>::value ? begin() + 2
: begin() + 1 : begin() + 1
, ,
end(), end(),
to_ulong_pred() to_ulong_pred()
) != end() ) != end()
? throw std::overflow_error("base_bitset::to_ullong") ? throw std::overflow_error("base_bitset::to_ullong")
: sizeof(unsigned long long) > sizeof(unsigned long) : sprout::detail::size_t_<sizeof(unsigned long long)>::value > sprout::detail::size_t_<sizeof(unsigned long)>::value
? w_[0] + (static_cast<unsigned long long>(w_[1]) << (CHAR_BIT * sizeof(unsigned long))) ? w_[0] + (static_cast<unsigned long long>(w_[1]) << (CHAR_BIT * sizeof(unsigned long)))
: w_[0] : w_[0]
; ;
@ -431,7 +437,7 @@ namespace sprout {
} }
SPROUT_CONSTEXPR std::size_t SPROUT_CONSTEXPR std::size_t
find_next(std::size_t prev, std::size_t not_found) const SPROUT_NOEXCEPT { find_next(std::size_t prev, std::size_t not_found) const SPROUT_NOEXCEPT {
return prev + 1 >= N * (CHAR_BIT * sizeof(unsigned long)) ? not_found return prev + 1 >= N * (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) ? not_found
: find_next_impl(prev + 1, not_found, whichword(prev + 1)); : find_next_impl(prev + 1, not_found, whichword(prev + 1));
; ;
} }
@ -469,15 +475,15 @@ namespace sprout {
public: public:
static SPROUT_CONSTEXPR std::size_t static SPROUT_CONSTEXPR std::size_t
whichword(std::size_t pos) SPROUT_NOEXCEPT { whichword(std::size_t pos) SPROUT_NOEXCEPT {
return pos / (CHAR_BIT * sizeof(unsigned long)); return pos / (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value);
} }
static SPROUT_CONSTEXPR std::size_t static SPROUT_CONSTEXPR std::size_t
whichbyte(std::size_t pos) SPROUT_NOEXCEPT { whichbyte(std::size_t pos) SPROUT_NOEXCEPT {
return (pos % (CHAR_BIT * sizeof(unsigned long))) / CHAR_BIT; return (pos % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value)) / CHAR_BIT;
} }
static SPROUT_CONSTEXPR std::size_t static SPROUT_CONSTEXPR std::size_t
whichbit(std::size_t pos) SPROUT_NOEXCEPT { whichbit(std::size_t pos) SPROUT_NOEXCEPT {
return pos % (CHAR_BIT * sizeof(unsigned long)); return pos % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value);
} }
static SPROUT_CONSTEXPR word_type static SPROUT_CONSTEXPR word_type
maskbit(std::size_t pos) SPROUT_NOEXCEPT { maskbit(std::size_t pos) SPROUT_NOEXCEPT {
@ -635,7 +641,7 @@ namespace sprout {
} }
SPROUT_CONSTEXPR std::size_t SPROUT_CONSTEXPR std::size_t
find_next(std::size_t prev, std::size_t not_found) const SPROUT_NOEXCEPT { find_next(std::size_t prev, std::size_t not_found) const SPROUT_NOEXCEPT {
return prev + 1 >= static_cast<std::size_t>(CHAR_BIT * sizeof(unsigned long)) ? not_found return prev + 1 >= static_cast<std::size_t>(CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) ? not_found
: find_next_impl(prev + 1, not_found, w_ >> (prev + 1)) : find_next_impl(prev + 1, not_found, w_ >> (prev + 1))
; ;
} }
@ -652,17 +658,17 @@ namespace sprout {
public: public:
static SPROUT_CONSTEXPR std::size_t static SPROUT_CONSTEXPR std::size_t
whichword(std::size_t pos) SPROUT_NOEXCEPT { whichword(std::size_t pos) SPROUT_NOEXCEPT {
return pos / (CHAR_BIT * sizeof(unsigned long)); return pos / (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value);
} }
static SPROUT_CONSTEXPR std::size_t static SPROUT_CONSTEXPR std::size_t
whichbyte(std::size_t pos) SPROUT_NOEXCEPT { whichbyte(std::size_t pos) SPROUT_NOEXCEPT {
return (pos % (CHAR_BIT * sizeof(unsigned long))) / CHAR_BIT; return (pos % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value)) / CHAR_BIT;
} }
static SPROUT_CONSTEXPR std::size_t static SPROUT_CONSTEXPR std::size_t
whichbit(std::size_t pos) SPROUT_NOEXCEPT { whichbit(std::size_t pos) SPROUT_NOEXCEPT {
return pos % (CHAR_BIT * sizeof(unsigned long)); return pos % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value);
} }
static SPROUT_CONSTEXPR word_type static SPROUT_CONSTEXPR word_type
@ -815,7 +821,7 @@ namespace sprout {
} }
}; };
template<std::size_t N2, bool = (N2 < (CHAR_BIT * sizeof(unsigned long long)))> template<std::size_t N2, bool = (N2 < (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long long)>::value))>
struct sanitize_val { struct sanitize_val {
public: public:
static SPROUT_CONSTEXPR unsigned long long static SPROUT_CONSTEXPR unsigned long long
@ -886,12 +892,12 @@ namespace sprout {
template<std::size_t N> template<std::size_t N>
class bitset class bitset
: private sprout::detail::base_bitset< : private sprout::detail::base_bitset<
N / (CHAR_BIT * sizeof(unsigned long)) + (N % (CHAR_BIT * sizeof(unsigned long)) == 0 ? 0 : 1) N / (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) + (N % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) == 0 ? 0 : 1)
> >
{ {
private: private:
typedef sprout::detail::base_bitset< typedef sprout::detail::base_bitset<
N / (CHAR_BIT * sizeof(unsigned long)) + (N % (CHAR_BIT * sizeof(unsigned long)) == 0 ? 0 : 1) N / (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) + (N % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value) == 0 ? 0 : 1)
> base_type; > base_type;
typedef unsigned long word_type; typedef unsigned long word_type;
public: public:
@ -949,12 +955,12 @@ namespace sprout {
void void
do_sanitize() SPROUT_NOEXCEPT { do_sanitize() SPROUT_NOEXCEPT {
typedef sprout::detail::sanitize<N % (CHAR_BIT * sizeof(unsigned long))> sanitize_type; typedef sprout::detail::sanitize<N % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value)> sanitize_type;
sanitize_type::do_sanitize(this->hiword()); sanitize_type::do_sanitize(this->hiword());
} }
SPROUT_CONSTEXPR bitset<N> SPROUT_CONSTEXPR bitset<N>
do_sanitize() const SPROUT_NOEXCEPT { do_sanitize() const SPROUT_NOEXCEPT {
typedef sprout::detail::sanitize<N % (CHAR_BIT * sizeof(unsigned long))> sanitize_type; typedef sprout::detail::sanitize<N % (CHAR_BIT * sprout::detail::size_t_<sizeof(unsigned long)>::value)> sanitize_type;
return bitset(this->hiword(sanitize_type::do_sanitize_c(this->hiword()))); return bitset(this->hiword(sanitize_type::do_sanitize_c(this->hiword())));
} }
SPROUT_CONSTEXPR bitset<N> SPROUT_CONSTEXPR bitset<N>

View file

@ -23,7 +23,6 @@ namespace sprout {
template<typename T> template<typename T>
inline SPROUT_CONSTEXPR typename sprout::float_promote<T>::type inline SPROUT_CONSTEXPR typename sprout::float_promote<T>::type
iir_g(T const& g) { iir_g(T const& g) {
typedef typename sprout::float_promote<T>::type type;
return g + 1; return g + 1;
} }
} // namespace detail } // namespace detail

View file

@ -18,9 +18,10 @@ namespace sprout {
struct deep_internal_impl< struct deep_internal_impl<
Container, Prev, Container, Prev,
typename std::enable_if<std::is_same<Container, Prev&&>::value>::type typename std::enable_if<std::is_same<Container, Prev&&>::value>::type
> > {
: public std::common_type<Container> public:
{}; typedef Container type;
};
} // namespace detail } // namespace detail
// //
// deep_internal // deep_internal

View file

@ -37,7 +37,6 @@ namespace sprout {
T const& value, typename std::iterator_traits<InputIterator>::difference_type n T const& value, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, bool> type;
return current.second || !*current.first ? current return current.second || !*current.first ? current
: sprout::detail::strchr_impl( : sprout::detail::strchr_impl(
sprout::detail::strchr_impl_1( sprout::detail::strchr_impl_1(

View file

@ -48,7 +48,6 @@ namespace sprout {
typename std::iterator_traits<InputIterator1>::difference_type n typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::tuples::tuple<InputIterator1, InputIterator2, int> type;
return sprout::tuples::get<2>(current) || !*sprout::tuples::get<1>(current) || !*sprout::tuples::get<0>(current) ? current return sprout::tuples::get<2>(current) || !*sprout::tuples::get<1>(current) || !*sprout::tuples::get<0>(current) ? current
: sprout::detail::strcmp_impl( : sprout::detail::strcmp_impl(
sprout::detail::strcmp_impl_1( sprout::detail::strcmp_impl_1(

View file

@ -41,7 +41,6 @@ namespace sprout {
ForwardIterator2 first2, typename std::iterator_traits<InputIterator1>::difference_type n ForwardIterator2 first2, typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::tuples::tuple<InputIterator1, std::size_t, bool> type;
return sprout::tuples::get<2>(current) || !*sprout::tuples::get<0>(current) ? current return sprout::tuples::get<2>(current) || !*sprout::tuples::get<0>(current) ? current
: sprout::detail::strcspn_impl( : sprout::detail::strcspn_impl(
sprout::detail::strcspn_impl_1( sprout::detail::strcspn_impl_1(

View file

@ -39,7 +39,6 @@ namespace sprout {
typename std::iterator_traits<InputIterator>::difference_type n typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, std::size_t> type;
return !*current.first ? current return !*current.first ? current
: sprout::detail::strlen_impl( : sprout::detail::strlen_impl(
sprout::detail::strlen_impl_1( sprout::detail::strlen_impl_1(

View file

@ -42,7 +42,6 @@ namespace sprout {
typename std::iterator_traits<InputIterator1>::difference_type n typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator1, bool> type;
return current.second || !*current.first ? current return current.second || !*current.first ? current
: sprout::detail::strpbrk_impl( : sprout::detail::strpbrk_impl(
sprout::detail::strpbrk_impl_1( sprout::detail::strpbrk_impl_1(

View file

@ -46,7 +46,6 @@ namespace sprout {
typename std::iterator_traits<ForwardIterator>::difference_type n typename std::iterator_traits<ForwardIterator>::difference_type n
) )
{ {
typedef sprout::pair<ForwardIterator, ForwardIterator> type;
return !*current.first ? current return !*current.first ? current
: sprout::detail::strrchr_impl( : sprout::detail::strrchr_impl(
sprout::detail::strrchr_impl_1( sprout::detail::strrchr_impl_1(

View file

@ -41,7 +41,6 @@ namespace sprout {
ForwardIterator2 first2, typename std::iterator_traits<InputIterator1>::difference_type n ForwardIterator2 first2, typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::tuples::tuple<InputIterator1, std::size_t, bool> type;
return sprout::tuples::get<2>(current) || !*sprout::tuples::get<0>(current) ? current return sprout::tuples::get<2>(current) || !*sprout::tuples::get<0>(current) ? current
: sprout::detail::strspn_impl( : sprout::detail::strspn_impl(
sprout::detail::strspn_impl_1( sprout::detail::strspn_impl_1(

View file

@ -79,7 +79,6 @@ namespace sprout {
typename std::iterator_traits<ForwardIterator1>::difference_type n typename std::iterator_traits<ForwardIterator1>::difference_type n
) )
{ {
typedef sprout::pair<ForwardIterator1, bool> type;
return current.second || !*current.first ? current return current.second || !*current.first ? current
: n == 1 ? sprout::detail::strstr_impl_fork( : n == 1 ? sprout::detail::strstr_impl_fork(
current, current,
@ -102,7 +101,6 @@ namespace sprout {
typename std::iterator_traits<ForwardIterator1>::difference_type n typename std::iterator_traits<ForwardIterator1>::difference_type n
) )
{ {
typedef sprout::pair<ForwardIterator1, bool> type;
return current.second || !*current.first ? current return current.second || !*current.first ? current
: sprout::detail::strstr_impl( : sprout::detail::strstr_impl(
sprout::detail::strstr_impl_1( sprout::detail::strstr_impl_1(

View file

@ -76,7 +76,6 @@ namespace sprout {
InputIterator last, BinaryPredicate pred, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, BinaryPredicate pred, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::tuples::tuple<InputIterator, typename std::iterator_traits<InputIterator>::value_type, typename std::iterator_traits<InputIterator>::difference_type> type;
return sprout::tuples::get<0>(current) == last ? current return sprout::tuples::get<0>(current) == last ? current
: sprout::detail::overlap_count_impl( : sprout::detail::overlap_count_impl(
sprout::detail::overlap_count_impl_1( sprout::detail::overlap_count_impl_1(

View file

@ -49,7 +49,6 @@ namespace sprout {
InputIterator1 last1, InputIterator2 last2, Compare comp, typename std::iterator_traits<InputIterator1>::difference_type n InputIterator1 last1, InputIterator2 last2, Compare comp, typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::tuples::tuple<InputIterator1, InputIterator2, typename std::iterator_traits<InputIterator1>::difference_type> type;
return sprout::tuples::get<0>(current) == last1 || sprout::tuples::get<1>(current) == last2 ? current return sprout::tuples::get<0>(current) == last1 || sprout::tuples::get<1>(current) == last2 ? current
: sprout::detail::set_overlap_count_impl( : sprout::detail::set_overlap_count_impl(
sprout::detail::set_overlap_count_impl_1( sprout::detail::set_overlap_count_impl_1(

View file

@ -50,7 +50,6 @@ namespace sprout {
InputIterator last, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, typename std::iterator_traits<InputIterator>::difference_type> type;
return current.first == last ? current return current.first == last ? current
: sprout::iterator_detail::iterator_distance_impl( : sprout::iterator_detail::iterator_distance_impl(
sprout::iterator_detail::iterator_distance_impl_1( sprout::iterator_detail::iterator_distance_impl_1(

View file

@ -75,7 +75,6 @@ namespace sprout {
InputIterator last, BinaryOperation binary_op, typename std::iterator_traits<InputIterator>::difference_type n InputIterator last, BinaryOperation binary_op, typename std::iterator_traits<InputIterator>::difference_type n
) )
{ {
typedef sprout::pair<InputIterator, T> type;
return current.first == last ? current return current.first == last ? current
: sprout::detail::accumulate_impl( : sprout::detail::accumulate_impl(
sprout::detail::accumulate_impl_1( sprout::detail::accumulate_impl_1(

View file

@ -52,7 +52,6 @@ namespace sprout {
typename sprout::container_traits<Container>::value_type const& phase typename sprout::container_traits<Container>::value_type const& phase
) )
{ {
typedef typename sprout::container_traits<Container>::value_type value_type;
return sprout::fixed::detail::sawtooth_impl( return sprout::fixed::detail::sawtooth_impl(
cont, cont,
frequency, frequency,

View file

@ -53,7 +53,6 @@ namespace sprout {
typename sprout::container_traits<Container>::value_type const& duty typename sprout::container_traits<Container>::value_type const& duty
) )
{ {
typedef typename sprout::container_traits<Container>::value_type value_type;
return sprout::fixed::detail::square_impl( return sprout::fixed::detail::square_impl(
cont, cont,
frequency, frequency,

View file

@ -55,7 +55,6 @@ namespace sprout {
typename sprout::container_traits<Container>::value_type const& phase typename sprout::container_traits<Container>::value_type const& phase
) )
{ {
typedef typename sprout::container_traits<Container>::value_type value_type;
return sprout::fixed::detail::triangle_impl( return sprout::fixed::detail::triangle_impl(
cont, cont,
frequency, frequency,

View file

@ -83,7 +83,6 @@ namespace sprout {
InputIterator1 last1, BinaryOperation1 binary_op1, BinaryOperation2 binary_op2, typename std::iterator_traits<InputIterator1>::difference_type n InputIterator1 last1, BinaryOperation1 binary_op1, BinaryOperation2 binary_op2, typename std::iterator_traits<InputIterator1>::difference_type n
) )
{ {
typedef sprout::tuples::tuple<InputIterator1, InputIterator2, T> type;
return sprout::tuples::get<0>(current) == last1 ? current return sprout::tuples::get<0>(current) == last1 ? current
: sprout::detail::inner_product_impl( : sprout::detail::inner_product_impl(
sprout::detail::inner_product_impl_1( sprout::detail::inner_product_impl_1(

View file

@ -129,7 +129,6 @@ namespace sprout {
T max_value T max_value
) )
{ {
typedef T result_type;
typedef typename Engine::result_type base_result; typedef typename Engine::result_type base_result;
return sprout::random::detail::generate_uniform_real_true_2( return sprout::random::detail::generate_uniform_real_true_2(
rnd.engine(), rnd.engine(),

View file

@ -34,9 +34,7 @@ namespace testspr {
iterator_type current; iterator_type current;
public: public:
reduct_iterator() = default; reduct_iterator() = default;
SPROUT_CONSTEXPR reduct_iterator(reduct_iterator const& other) SPROUT_CONSTEXPR reduct_iterator(reduct_iterator const& other) = default;
: current(other.current)
{}
explicit SPROUT_CONSTEXPR reduct_iterator(iterator_type it) explicit SPROUT_CONSTEXPR reduct_iterator(iterator_type it)
: current(it) : current(it)
{} {}