1
0
Fork 0
mirror of https://github.com/bolero-MURAKAMI/Sprout synced 2025-08-03 12:49:50 +00:00

modify namespace result_of -> results

support C++14 type_traits
This commit is contained in:
bolero-MURAKAMI 2013-11-20 22:04:11 +09:00
parent d386893a74
commit bf0c7021cf
350 changed files with 2628 additions and 1912 deletions

View file

@ -17,7 +17,7 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// append
//
@ -29,7 +29,7 @@ namespace sprout {
sprout::container_traits<Container>::static_size + sprout::container_traits<Input>::static_size
>
{};
} // namespace result_of
} // namespace results
namespace detail {
template<typename Result, typename Container, typename Input, sprout::index_t... Indexes>
@ -60,30 +60,30 @@ namespace sprout {
// append
//
template<typename Container, typename Input>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::append<Container, Input>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::append<Container, Input>::type
append(
Container const& cont, typename sprout::container_traits<Container>::const_iterator pos,
Input const& input
)
{
return sprout::fixed::detail::append_impl<typename sprout::fixed::result_of::append<Container, Input>::type>(
return sprout::fixed::detail::append_impl<typename sprout::fixed::results::append<Container, Input>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::append<Container, Input>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::append<Container, Input>::type>::make(),
sprout::distance(sprout::internal_begin(cont), pos),
sprout::size(input),
input
);
}
template<typename Container, typename Input>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::append<Container, Input>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::append<Container, Input>::type
append(
Container const& cont, typename sprout::container_traits<Container>::difference_type pos,
Input const& input
)
{
return sprout::fixed::detail::append_impl<typename sprout::fixed::result_of::append<Container, Input>::type>(
return sprout::fixed::detail::append_impl<typename sprout::fixed::results::append<Container, Input>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::append<Container, Input>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::append<Container, Input>::type>::make(),
sprout::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos)),
sprout::size(input),
input
@ -91,9 +91,9 @@ namespace sprout {
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::append;
} // namespace result_of
namespace results {
using sprout::fixed::results::append;
} // namespace results
using sprout::fixed::append;
} // namespace sprout

View file

@ -18,25 +18,25 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// append_back
//
template<typename Container, typename Input>
struct append_back
: public sprout::fixed::result_of::append<Container, Input>
: public sprout::fixed::results::append<Container, Input>
{};
} // namespace result_of
} // namespace results
//
// append_back
//
template<typename Container, typename Input>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::append_back<Container, Input>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::append_back<Container, Input>::type
append_back(Container const& cont, Input const& input) {
return sprout::fixed::detail::append_impl<typename sprout::fixed::result_of::append_back<Container, Input>::type>(
return sprout::fixed::detail::append_impl<typename sprout::fixed::results::append_back<Container, Input>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::append_back<Container, Input>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::append_back<Container, Input>::type>::make(),
sprout::internal_end_offset(cont),
sprout::size(input),
input
@ -44,9 +44,9 @@ namespace sprout {
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::append_back;
} // namespace result_of
namespace results {
using sprout::fixed::results::append_back;
} // namespace results
using sprout::fixed::append_back;
} // namespace sprout

View file

@ -18,25 +18,25 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// append_front
//
template<typename Container, typename Input>
struct append_front
: public sprout::fixed::result_of::append<Container, Input>
: public sprout::fixed::results::append<Container, Input>
{};
} // namespace result_of
} // namespace results
//
// append_front
//
template<typename Container, typename Input>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::append_front<Container, Input>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::append_front<Container, Input>::type
append_front(Container const& cont, Input const& input) {
return sprout::fixed::detail::append_impl<typename sprout::fixed::result_of::append_front<Container, Input>::type>(
return sprout::fixed::detail::append_impl<typename sprout::fixed::results::append_front<Container, Input>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::append_front<Container, Input>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::append_front<Container, Input>::type>::make(),
sprout::internal_begin_offset(cont),
sprout::size(input),
input
@ -44,9 +44,9 @@ namespace sprout {
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::append_front;
} // namespace result_of
namespace results {
using sprout::fixed::results::append_front;
} // namespace results
using sprout::fixed::append_front;
} // namespace sprout

View file

@ -17,7 +17,7 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// erase
//
@ -31,7 +31,7 @@ namespace sprout {
{
static_assert(sprout::container_traits<Container>::static_size >= 1, "static_size >= 1");
};
} // namespace result_of
} // namespace results
namespace detail {
template<typename Result, typename Container, sprout::index_t... Indexes>
@ -58,11 +58,11 @@ namespace sprout {
// erase
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::erase<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::erase<Container>::type
erase(Container const& cont, typename sprout::container_traits<Container>::const_iterator pos) {
return sprout::fixed::detail::erase_impl<typename sprout::fixed::result_of::erase<Container>::type>(
return sprout::fixed::detail::erase_impl<typename sprout::fixed::results::erase<Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::erase<Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::erase<Container>::type>::make(),
sprout::distance(sprout::internal_begin(cont), pos)
);
}
@ -70,19 +70,19 @@ namespace sprout {
// erase
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::erase<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::erase<Container>::type
erase(Container const& cont, typename sprout::container_traits<Container>::difference_type pos) {
return sprout::fixed::detail::erase_impl<typename sprout::fixed::result_of::erase<Container>::type>(
return sprout::fixed::detail::erase_impl<typename sprout::fixed::results::erase<Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::erase<Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::erase<Container>::type>::make(),
sprout::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos))
);
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::erase;
} // namespace result_of
namespace results {
using sprout::fixed::results::erase;
} // namespace results
using sprout::fixed::erase;
} // namespace sprout

View file

@ -18,7 +18,7 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// erase_n
//
@ -32,7 +32,7 @@ namespace sprout {
{
static_assert(sprout::container_traits<Container>::static_size >= N, "static_size >= N");
};
} // namespace result_of
} // namespace results
namespace detail {
template<std::size_t N, typename Result, typename Container, sprout::index_t... Indexes>
@ -59,28 +59,28 @@ namespace sprout {
// erase_n
//
template<std::size_t N, typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::erase_n<N, Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::erase_n<N, Container>::type
erase_n(Container const& cont, typename sprout::container_traits<Container>::const_iterator pos) {
return sprout::fixed::detail::erase_n_impl<N, typename sprout::fixed::result_of::erase_n<N, Container>::type>(
return sprout::fixed::detail::erase_n_impl<N, typename sprout::fixed::results::erase_n<N, Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::erase_n<N, Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::erase_n<N, Container>::type>::make(),
sprout::distance(sprout::internal_begin(cont), pos)
);
}
template<std::size_t N, typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::erase_n<N, Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::erase_n<N, Container>::type
erase_n(Container const& cont, typename sprout::container_traits<Container>::difference_type pos) {
return sprout::fixed::detail::erase_n_impl<N, typename sprout::fixed::result_of::erase_n<N, Container>::type>(
return sprout::fixed::detail::erase_n_impl<N, typename sprout::fixed::results::erase_n<N, Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::erase_n<N, Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::erase_n<N, Container>::type>::make(),
sprout::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos))
);
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::erase_n;
} // namespace result_of
namespace results {
using sprout::fixed::results::erase_n;
} // namespace results
using sprout::fixed::erase_n;
} // namespace sprout

View file

@ -19,7 +19,7 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// insert
//
@ -31,7 +31,7 @@ namespace sprout {
sprout::container_traits<Container>::static_size + 1 + sizeof...(Values)
>
{};
} // namespace result_of
} // namespace results
namespace detail {
template<typename Result, typename Container, typename T, typename... Values, sprout::index_t... Indexes>
@ -60,30 +60,30 @@ namespace sprout {
// insert
//
template<typename Container, typename T, typename... Values>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::insert<Container, T, Values...>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::insert<Container, T, Values...>::type
insert(
Container const& cont, typename sprout::container_traits<Container>::const_iterator pos,
T const& v, Values const&... values
)
{
return sprout::fixed::detail::insert_impl<typename sprout::fixed::result_of::insert<Container, T, Values...>::type>(
return sprout::fixed::detail::insert_impl<typename sprout::fixed::results::insert<Container, T, Values...>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::insert<Container, T, Values...>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::insert<Container, T, Values...>::type>::make(),
sprout::distance(sprout::internal_begin(cont), pos),
v,
values...
);
}
template<typename Container, typename T, typename... Values>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::insert<Container, T, Values...>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::insert<Container, T, Values...>::type
insert(
Container const& cont, typename sprout::container_traits<Container>::difference_type pos,
T const& v, Values const&... values
)
{
return sprout::fixed::detail::insert_impl<typename sprout::fixed::result_of::insert<Container, T, Values...>::type>(
return sprout::fixed::detail::insert_impl<typename sprout::fixed::results::insert<Container, T, Values...>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::insert<Container, T, Values...>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::insert<Container, T, Values...>::type>::make(),
sprout::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos)),
v,
values...
@ -91,9 +91,9 @@ namespace sprout {
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::insert;
} // namespace result_of
namespace results {
using sprout::fixed::results::insert;
} // namespace results
using sprout::fixed::insert;
} // namespace sprout

View file

@ -21,7 +21,7 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// insert_n
//
@ -33,7 +33,7 @@ namespace sprout {
sprout::container_traits<Container>::static_size + (1 + sizeof...(Values)) * N
>
{};
} // namespace result_of
} // namespace results
namespace detail {
template<std::size_t N, typename Result, typename Container, typename T, typename... Values, sprout::index_t... Indexes>
@ -63,15 +63,15 @@ namespace sprout {
// insert_n
//
template<std::size_t N, typename Container, typename T, typename... Values>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::insert_n<N, Container, T, Values...>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::insert_n<N, Container, T, Values...>::type
insert_n(
Container const& cont, typename sprout::container_traits<Container>::const_iterator pos,
T const& v, Values const&... values
)
{
return sprout::fixed::detail::insert_n_impl<N, typename sprout::fixed::result_of::insert_n<N, Container, T, Values...>::type>(
return sprout::fixed::detail::insert_n_impl<N, typename sprout::fixed::results::insert_n<N, Container, T, Values...>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::insert_n<N, Container, T, Values...>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::insert_n<N, Container, T, Values...>::type>::make(),
sprout::distance(sprout::internal_begin(cont), pos),
v,
values...
@ -81,15 +81,15 @@ namespace sprout {
// insert_n
//
template<std::size_t N, typename Container, typename T, typename... Values>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::insert_n<N, Container, T, Values...>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::insert_n<N, Container, T, Values...>::type
insert_n(
Container const& cont, typename sprout::container_traits<Container>::difference_type pos,
T const& v, Values const&... values
)
{
return sprout::fixed::detail::insert_n_impl<N, typename sprout::fixed::result_of::insert_n<N, Container, T, Values...>::type>(
return sprout::fixed::detail::insert_n_impl<N, typename sprout::fixed::results::insert_n<N, Container, T, Values...>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::insert_n<N, Container, T, Values...>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::insert_n<N, Container, T, Values...>::type>::make(),
sprout::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos)),
v,
values...
@ -97,9 +97,9 @@ namespace sprout {
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::insert_n;
} // namespace result_of
namespace results {
using sprout::fixed::results::insert_n;
} // namespace results
using sprout::fixed::insert_n;
} // namespace sprout

View file

@ -18,33 +18,33 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// pop_back
//
template<typename Container>
struct pop_back
: public sprout::fixed::result_of::erase<Container>
: public sprout::fixed::results::erase<Container>
{};
} // namespace result_of
} // namespace results
//
// pop_back
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::pop_back<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::pop_back<Container>::type
pop_back(Container const& cont) {
return sprout::fixed::detail::erase_impl<typename sprout::fixed::result_of::pop_back<Container>::type>(
return sprout::fixed::detail::erase_impl<typename sprout::fixed::results::pop_back<Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::pop_back<Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::pop_back<Container>::type>::make(),
sprout::internal_end_offset(cont) - 1
);
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::pop_back;
} // namespace result_of
namespace results {
using sprout::fixed::results::pop_back;
} // namespace results
using sprout::fixed::pop_back;
} // namespace sprout

View file

@ -18,33 +18,33 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// pop_back_n
//
template<std::size_t N, typename Container>
struct pop_back_n
: public sprout::fixed::result_of::erase_n<N, Container>
: public sprout::fixed::results::erase_n<N, Container>
{};
} // namespace result_of
} // namespace results
//
// pop_back_n
//
template<std::size_t N, typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::pop_back_n<N, Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::pop_back_n<N, Container>::type
pop_back_n(Container const& cont) {
return sprout::fixed::detail::erase_n_impl<N, typename sprout::fixed::result_of::pop_back_n<N, Container>::type>(
return sprout::fixed::detail::erase_n_impl<N, typename sprout::fixed::results::pop_back_n<N, Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::pop_back_n<N, Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::pop_back_n<N, Container>::type>::make(),
sprout::internal_end_offset(cont) - N
);
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::pop_back_n;
} // namespace result_of
namespace results {
using sprout::fixed::results::pop_back_n;
} // namespace results
using sprout::fixed::pop_back_n;
} // namespace sprout

View file

@ -18,33 +18,33 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// pop_front
//
template<typename Container>
struct pop_front
: public sprout::fixed::result_of::erase<Container>
: public sprout::fixed::results::erase<Container>
{};
} // namespace result_of
} // namespace results
//
// pop_front
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::pop_front<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::pop_front<Container>::type
pop_front(Container const& cont) {
return sprout::fixed::detail::erase_impl<typename sprout::fixed::result_of::pop_front<Container>::type>(
return sprout::fixed::detail::erase_impl<typename sprout::fixed::results::pop_front<Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::pop_front<Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::pop_front<Container>::type>::make(),
sprout::internal_begin_offset(cont)
);
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::pop_front;
} // namespace result_of
namespace results {
using sprout::fixed::results::pop_front;
} // namespace results
using sprout::fixed::pop_front;
} // namespace sprout

View file

@ -18,33 +18,33 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// pop_front_n
//
template<std::size_t N, typename Container>
struct pop_front_n
: public sprout::fixed::result_of::erase_n<N, Container>
: public sprout::fixed::results::erase_n<N, Container>
{};
} // namespace result_of
} // namespace results
//
// pop_front_n
//
template<std::size_t N, typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::pop_front_n<N, Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::pop_front_n<N, Container>::type
pop_front_n(Container const& cont) {
return sprout::fixed::detail::erase_n_impl<N, typename sprout::fixed::result_of::pop_front_n<N, Container>::type>(
return sprout::fixed::detail::erase_n_impl<N, typename sprout::fixed::results::pop_front_n<N, Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::pop_front_n<N, Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::pop_front_n<N, Container>::type>::make(),
sprout::internal_begin_offset(cont)
);
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::pop_front_n;
} // namespace result_of
namespace results {
using sprout::fixed::results::pop_front_n;
} // namespace results
using sprout::fixed::pop_front_n;
} // namespace sprout

View file

@ -18,25 +18,25 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// push_back
//
template<typename Container, typename T, typename... Values>
struct push_back
: public sprout::fixed::result_of::insert<Container, T, Values...>
: public sprout::fixed::results::insert<Container, T, Values...>
{};
} // namespace result_of
} // namespace results
//
// push_back
//
template<typename Container, typename T, typename... Values>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::push_back<Container, T, Values...>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::push_back<Container, T, Values...>::type
push_back(Container const& cont, T const& v, Values const&... values) {
return sprout::fixed::detail::insert_impl<typename sprout::fixed::result_of::push_back<Container, T, Values...>::type>(
return sprout::fixed::detail::insert_impl<typename sprout::fixed::results::push_back<Container, T, Values...>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::push_back<Container, T, Values...>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::push_back<Container, T, Values...>::type>::make(),
sprout::internal_end_offset(cont),
v,
values...
@ -44,9 +44,9 @@ namespace sprout {
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::push_back;
} // namespace result_of
namespace results {
using sprout::fixed::results::push_back;
} // namespace results
using sprout::fixed::push_back;
} // namespace sprout

View file

@ -18,25 +18,25 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// push_back_n
//
template<std::size_t N, typename Container, typename T, typename... Values>
struct push_back_n
: public sprout::fixed::result_of::insert_n<N, Container, T, Values...>
: public sprout::fixed::results::insert_n<N, Container, T, Values...>
{};
} // namespace result_of
} // namespace results
//
// push_back_n
//
template<std::size_t N, typename Container, typename T, typename... Values>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::push_back_n<N, Container, T, Values...>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::push_back_n<N, Container, T, Values...>::type
push_back_n(Container const& cont, T const& v, Values const&... values) {
return sprout::fixed::detail::insert_n_impl<N, typename sprout::fixed::result_of::push_back_n<N, Container, T, Values...>::type>(
return sprout::fixed::detail::insert_n_impl<N, typename sprout::fixed::results::push_back_n<N, Container, T, Values...>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::push_back_n<N, Container, T, Values...>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::push_back_n<N, Container, T, Values...>::type>::make(),
sprout::internal_end_offset(cont),
v,
values...
@ -44,9 +44,9 @@ namespace sprout {
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::push_back_n;
} // namespace result_of
namespace results {
using sprout::fixed::results::push_back_n;
} // namespace results
using sprout::fixed::push_back_n;
} // namespace sprout

View file

@ -18,25 +18,25 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// push_front
//
template<typename Container, typename T, typename... Values>
struct push_front
: public sprout::fixed::result_of::insert<Container, T, Values...>
: public sprout::fixed::results::insert<Container, T, Values...>
{};
} // namespace result_of
} // namespace results
//
// push_front
//
template<typename Container, typename T, typename... Values>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::push_front<Container, T, Values...>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::push_front<Container, T, Values...>::type
push_front(Container const& cont, T const& v, Values const&... values) {
return sprout::fixed::detail::insert_impl<typename sprout::fixed::result_of::push_front<Container, T, Values...>::type>(
return sprout::fixed::detail::insert_impl<typename sprout::fixed::results::push_front<Container, T, Values...>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::push_front<Container, T, Values...>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::push_front<Container, T, Values...>::type>::make(),
sprout::internal_begin_offset(cont),
v,
values...
@ -44,9 +44,9 @@ namespace sprout {
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::push_front;
} // namespace result_of
namespace results {
using sprout::fixed::results::push_front;
} // namespace results
using sprout::fixed::push_front;
} // namespace sprout

View file

@ -18,25 +18,25 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// push_front_n
//
template<std::size_t N, typename Container, typename T, typename... Values>
struct push_front_n
: public sprout::fixed::result_of::insert_n<N, Container, T, Values...>
: public sprout::fixed::results::insert_n<N, Container, T, Values...>
{};
} // namespace result_of
} // namespace results
//
// push_front_n
//
template<std::size_t N, typename Container, typename T, typename... Values>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::push_front_n<N, Container, T, Values...>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::push_front_n<N, Container, T, Values...>::type
push_front_n(Container const& cont, T const& v, Values const&... values) {
return sprout::fixed::detail::insert_n_impl<N, typename sprout::fixed::result_of::push_front_n<N, Container, T, Values...>::type>(
return sprout::fixed::detail::insert_n_impl<N, typename sprout::fixed::results::push_front_n<N, Container, T, Values...>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::push_front_n<N, Container, T, Values...>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::push_front_n<N, Container, T, Values...>::type>::make(),
sprout::internal_begin_offset(cont),
v,
values...
@ -44,9 +44,9 @@ namespace sprout {
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::push_front_n;
} // namespace result_of
namespace results {
using sprout::fixed::results::push_front_n;
} // namespace results
using sprout::fixed::push_front_n;
} // namespace sprout

View file

@ -17,7 +17,7 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// realign
//
@ -26,7 +26,7 @@ namespace sprout {
public:
typedef typename sprout::container_construct_traits<Container>::copied_type type;
};
} // namespace result_of
} // namespace results
namespace detail {
template<typename Result, typename Container, typename T, sprout::index_t... Indexes>
@ -48,11 +48,11 @@ namespace sprout {
// realign
//
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::realign<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::realign<Container>::type
realign(Container const& cont, T const& v) {
return sprout::fixed::detail::realign_impl<typename sprout::fixed::result_of::realign<Container>::type>(
return sprout::fixed::detail::realign_impl<typename sprout::fixed::results::realign<Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::realign<Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::realign<Container>::type>::make(),
sprout::size(cont),
v
);
@ -78,19 +78,19 @@ namespace sprout {
// realign
//
template<typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::realign<Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::realign<Container>::type
realign(Container const& cont) {
return sprout::fixed::detail::realign_impl<typename sprout::fixed::result_of::realign<Container>::type>(
return sprout::fixed::detail::realign_impl<typename sprout::fixed::results::realign<Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::realign<Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::realign<Container>::type>::make(),
sprout::size(cont)
);
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::realign;
} // namespace result_of
namespace results {
using sprout::fixed::results::realign;
} // namespace results
using sprout::fixed::realign;
} // namespace sprout

View file

@ -18,7 +18,7 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// realign_to
//
@ -27,17 +27,17 @@ namespace sprout {
public:
typedef typename sprout::container_construct_traits<Result>::copied_type type;
};
} // namespace result_of
} // namespace results
//
// realign_to
//
template<typename Result, typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::realign_to<Result, Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::realign_to<Result, Container>::type
realign_to(Container const& cont, T const& v) {
return sprout::fixed::detail::realign_impl<typename sprout::fixed::result_of::realign_to<Result, Container>::type>(
return sprout::fixed::detail::realign_impl<typename sprout::fixed::results::realign_to<Result, Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::realign_to<Result, Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::realign_to<Result, Container>::type>::make(),
sprout::size(cont),
v
);
@ -47,19 +47,19 @@ namespace sprout {
// realign_to
//
template<typename Result, typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::realign_to<Result, Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::realign_to<Result, Container>::type
realign_to(Container const& cont) {
return sprout::fixed::detail::realign_impl<typename sprout::fixed::result_of::realign_to<Result, Container>::type>(
return sprout::fixed::detail::realign_impl<typename sprout::fixed::results::realign_to<Result, Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::realign_to<Result, Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::realign_to<Result, Container>::type>::make(),
sprout::size(cont)
);
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::realign_to;
} // namespace result_of
namespace results {
using sprout::fixed::results::realign_to;
} // namespace results
using sprout::fixed::realign_to;
} // namespace sprout

View file

@ -18,7 +18,7 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// resize
//
@ -30,7 +30,7 @@ namespace sprout {
N
>
{};
} // namespace result_of
} // namespace results
namespace detail {
template<typename Result, typename Container, typename T, sprout::index_t... Indexes>
@ -52,11 +52,11 @@ namespace sprout {
// resize
//
template<std::size_t N, typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::resize<N, Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::resize<N, Container>::type
resize(Container const& cont, T const& v) {
return sprout::fixed::detail::resize_impl<typename sprout::fixed::result_of::resize<N, Container>::type>(
return sprout::fixed::detail::resize_impl<typename sprout::fixed::results::resize<N, Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::resize<N, Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::resize<N, Container>::type>::make(),
sprout::size(cont),
v
);
@ -82,19 +82,19 @@ namespace sprout {
// resize
//
template<std::size_t N, typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::resize<N, Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::resize<N, Container>::type
resize(Container const& cont) {
return sprout::fixed::detail::resize_impl<typename sprout::fixed::result_of::resize<N, Container>::type>(
return sprout::fixed::detail::resize_impl<typename sprout::fixed::results::resize<N, Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::resize<N, Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::resize<N, Container>::type>::make(),
sprout::size(cont)
);
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::resize;
} // namespace result_of
namespace results {
using sprout::fixed::results::resize;
} // namespace results
using sprout::fixed::resize;
} // namespace sprout

View file

@ -19,15 +19,15 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// resize_backward
//
template<std::size_t N, typename Container>
struct resize_backward
: public sprout::fixed::result_of::resize<N, Container>
: public sprout::fixed::results::resize<N, Container>
{};
} // namespace result_of
} // namespace results
namespace detail {
template<typename Result, typename Container, typename T, sprout::index_t... Indexes>
@ -51,14 +51,14 @@ namespace sprout {
// resize_backward
//
template<std::size_t N, typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::resize_backward<N, Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::resize_backward<N, Container>::type
resize_backward(Container const& cont, T const& v) {
return sprout::fixed::detail::resize_backward_impl<typename sprout::fixed::result_of::resize_backward<N, Container>::type>(
return sprout::fixed::detail::resize_backward_impl<typename sprout::fixed::results::resize_backward<N, Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::resize_backward<N, Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::resize_backward<N, Container>::type>::make(),
sprout::size(cont),
static_cast<typename sprout::container_traits<Container>::difference_type>(
sprout::container_traits<typename sprout::fixed::result_of::resize_backward<N, Container>::type>::static_size
sprout::container_traits<typename sprout::fixed::results::resize_backward<N, Container>::type>::static_size
)
- sprout::size(cont),
v
@ -86,23 +86,23 @@ namespace sprout {
// resize_backward
//
template<std::size_t N, typename Container>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::resize_backward<N, Container>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::resize_backward<N, Container>::type
resize_backward(Container const& cont) {
return sprout::fixed::detail::resize_backward_impl<typename sprout::fixed::result_of::resize_backward<N, Container>::type>(
return sprout::fixed::detail::resize_backward_impl<typename sprout::fixed::results::resize_backward<N, Container>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::resize_backward<N, Container>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::resize_backward<N, Container>::type>::make(),
sprout::size(cont),
static_cast<typename sprout::container_traits<Container>::difference_type>(
sprout::container_traits<typename sprout::fixed::result_of::resize_backward<N, Container>::type>::static_size
sprout::container_traits<typename sprout::fixed::results::resize_backward<N, Container>::type>::static_size
)
- sprout::size(cont)
);
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::resize_backward;
} // namespace result_of
namespace results {
using sprout::fixed::results::resize_backward;
} // namespace results
using sprout::fixed::resize_backward;
} // namespace sprout

View file

@ -17,7 +17,7 @@
namespace sprout {
namespace fixed {
namespace result_of {
namespace results {
//
// set
//
@ -26,7 +26,7 @@ namespace sprout {
public:
typedef typename sprout::container_construct_traits<Container>::copied_type type;
};
} // namespace result_of
} // namespace results
namespace detail {
template<typename Result, typename Container, typename T, sprout::index_t... Indexes>
@ -50,30 +50,30 @@ namespace sprout {
// set
//
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::set<Container, T>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::set<Container, T>::type
set(Container const& cont, typename sprout::container_traits<Container>::const_iterator pos, T const& v) {
return sprout::fixed::detail::set_impl<typename sprout::fixed::result_of::set<Container, T>::type>(
return sprout::fixed::detail::set_impl<typename sprout::fixed::results::set<Container, T>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::set<Container, T>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::set<Container, T>::type>::make(),
sprout::distance(sprout::internal_begin(cont), pos),
v
);
}
template<typename Container, typename T>
inline SPROUT_CONSTEXPR typename sprout::fixed::result_of::set<Container, T>::type
inline SPROUT_CONSTEXPR typename sprout::fixed::results::set<Container, T>::type
set(Container const& cont, typename sprout::container_traits<Container>::difference_type pos, T const& v) {
return sprout::fixed::detail::set_impl<typename sprout::fixed::result_of::set<Container, T>::type>(
return sprout::fixed::detail::set_impl<typename sprout::fixed::results::set<Container, T>::type>(
cont,
sprout::container_indexes<typename sprout::fixed::result_of::set<Container, T>::type>::make(),
sprout::container_indexes<typename sprout::fixed::results::set<Container, T>::type>::make(),
sprout::distance(sprout::internal_begin(cont), sprout::next(sprout::begin(cont), pos)),
v
);
}
} // namespace fixed
namespace result_of {
using sprout::fixed::result_of::set;
} // namespace result_of
namespace results {
using sprout::fixed::results::set;
} // namespace results
using sprout::fixed::set;
} // namespace sprout