mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-08-03 12:49:50 +00:00
[desuructive changes] container traits new interface [破壊的変更]
This commit is contained in:
parent
52a2178ac1
commit
ad60c8c530
356 changed files with 3183 additions and 3251 deletions
|
@ -2,8 +2,8 @@
|
|||
#define SPROUT_OPERATION_FIT_APPEND_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/append.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace sprout {
|
|||
struct append {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::append<Container, Input>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -30,14 +30,14 @@ namespace sprout {
|
|||
template<typename Container, typename Input>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::append<Container, Input>::type append(
|
||||
Container const& cont,
|
||||
typename sprout::fixed_container_traits<Container>::const_iterator pos,
|
||||
typename sprout::container_traits<Container>::const_iterator pos,
|
||||
Input const& input
|
||||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::append(cont, pos, input)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) + sprout::size(input)
|
||||
sprout::get_internal(sprout::fixed::append(cont, pos, input)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) + sprout::size(input)
|
||||
);
|
||||
}
|
||||
//
|
||||
|
@ -46,14 +46,14 @@ namespace sprout {
|
|||
template<typename Container, typename Input>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::append<Container, Input>::type append(
|
||||
Container const& cont,
|
||||
typename sprout::fixed_container_traits<Container>::difference_type pos,
|
||||
typename sprout::container_traits<Container>::difference_type pos,
|
||||
Input const& input
|
||||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::append(cont, pos, input)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) + sprout::size(input)
|
||||
sprout::get_internal(sprout::fixed::append(cont, pos, input)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) + sprout::size(input)
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#define SPROUT_OPERATION_FIT_APPEND_BACK_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/append_back.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -16,7 +16,7 @@ namespace sprout {
|
|||
template<typename Container, typename Input>
|
||||
struct append_back {
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::append_back<Container, Input>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -33,9 +33,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::append_back(cont, input)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) + sprout::size(input)
|
||||
sprout::get_internal(sprout::fixed::append_back(cont, input)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) + sprout::size(input)
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#define SPROUT_OPERATION_FIT_APPEND_FRONT_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/append_front.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -16,7 +16,7 @@ namespace sprout {
|
|||
template<typename Container, typename Input>
|
||||
struct append_front {
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::append_front<Container, Input>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -33,9 +33,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::append_front(cont, input)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) + sprout::size(input)
|
||||
sprout::get_internal(sprout::fixed::append_front(cont, input)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) + sprout::size(input)
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include <cstddef>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/erase.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace sprout {
|
|||
struct erase {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::erase<Container>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -31,13 +31,13 @@ namespace sprout {
|
|||
template<typename Container>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::erase<Container>::type erase(
|
||||
Container const& cont,
|
||||
typename sprout::fixed_container_traits<Container>::const_iterator pos
|
||||
typename sprout::container_traits<Container>::const_iterator pos
|
||||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::erase(cont, pos)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) - 1
|
||||
sprout::get_internal(sprout::fixed::erase(cont, pos)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) - 1
|
||||
);
|
||||
}
|
||||
//
|
||||
|
@ -46,13 +46,13 @@ namespace sprout {
|
|||
template<typename Container>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::erase<Container>::type erase(
|
||||
Container const& cont,
|
||||
typename sprout::fixed_container_traits<Container>::difference_type pos
|
||||
typename sprout::container_traits<Container>::difference_type pos
|
||||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::erase(cont, pos)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) - 1
|
||||
sprout::get_internal(sprout::fixed::erase(cont, pos)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) - 1
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include <cstddef>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/erase_n.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace sprout {
|
|||
struct erase_n {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::erase_n<N, Container>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -31,13 +31,13 @@ namespace sprout {
|
|||
template<std::size_t N, typename Container>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::erase_n<N, Container>::type erase_n(
|
||||
Container const& cont,
|
||||
typename sprout::fixed_container_traits<Container>::const_iterator pos
|
||||
typename sprout::container_traits<Container>::const_iterator pos
|
||||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::erase_n<N>(cont, pos)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) - 1
|
||||
sprout::get_internal(sprout::fixed::erase_n<N>(cont, pos)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) - 1
|
||||
);
|
||||
}
|
||||
//
|
||||
|
@ -46,13 +46,13 @@ namespace sprout {
|
|||
template<std::size_t N, typename Container>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::erase_n<N, Container>::type erase_n(
|
||||
Container const& cont,
|
||||
typename sprout::fixed_container_traits<Container>::difference_type pos
|
||||
typename sprout::container_traits<Container>::difference_type pos
|
||||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::erase_n<N>(cont, pos)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) - 1
|
||||
sprout::get_internal(sprout::fixed::erase_n<N>(cont, pos)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) - 1
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include <cstddef>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/insert.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace sprout {
|
|||
struct insert {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::insert<Container, T, Values...>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -31,15 +31,15 @@ namespace sprout {
|
|||
template<typename Container, typename T, typename... Values>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::insert<Container, T, Values...>::type insert(
|
||||
Container const& cont,
|
||||
typename sprout::fixed_container_traits<Container>::const_iterator pos,
|
||||
typename sprout::container_traits<Container>::const_iterator pos,
|
||||
T const& v,
|
||||
Values const&... values
|
||||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::insert(cont, pos, v, values...)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) + 1 + sizeof...(Values)
|
||||
sprout::get_internal(sprout::fixed::insert(cont, pos, v, values...)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) + 1 + sizeof...(Values)
|
||||
);
|
||||
}
|
||||
//
|
||||
|
@ -48,15 +48,15 @@ namespace sprout {
|
|||
template<typename Container, typename T, typename... Values>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::insert<Container, T, Values...>::type insert(
|
||||
Container const& cont,
|
||||
typename sprout::fixed_container_traits<Container>::difference_type pos,
|
||||
typename sprout::container_traits<Container>::difference_type pos,
|
||||
T const& v,
|
||||
Values const&... values
|
||||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::insert(cont, pos, v, values...)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) + 1 + sizeof...(Values)
|
||||
sprout::get_internal(sprout::fixed::insert(cont, pos, v, values...)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) + 1 + sizeof...(Values)
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include <cstddef>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/insert_n.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace sprout {
|
|||
struct insert_n {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::insert_n<N, Container, T, Values...>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -31,15 +31,15 @@ namespace sprout {
|
|||
template<std::size_t N, typename Container, typename T, typename... Values>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::insert_n<N, Container, T, Values...>::type insert_n(
|
||||
Container const& cont,
|
||||
typename sprout::fixed_container_traits<Container>::const_iterator pos,
|
||||
typename sprout::container_traits<Container>::const_iterator pos,
|
||||
T const& v,
|
||||
Values const&... values
|
||||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::insert_n<N>(cont, pos, v, values...)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) + (1 + sizeof...(Values)) * N
|
||||
sprout::get_internal(sprout::fixed::insert_n<N>(cont, pos, v, values...)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) + (1 + sizeof...(Values)) * N
|
||||
);
|
||||
}
|
||||
//
|
||||
|
@ -48,15 +48,15 @@ namespace sprout {
|
|||
template<std::size_t N, typename Container, typename T, typename... Values>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::insert_n<N, Container, T, Values...>::type insert_n(
|
||||
Container const& cont,
|
||||
typename sprout::fixed_container_traits<Container>::difference_type pos,
|
||||
typename sprout::container_traits<Container>::difference_type pos,
|
||||
T const& v,
|
||||
Values const&... values
|
||||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::insert_n<N>(cont, pos, v, values...)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) + (1 + sizeof...(Values)) * N
|
||||
sprout::get_internal(sprout::fixed::insert_n<N>(cont, pos, v, values...)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) + (1 + sizeof...(Values)) * N
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include <cstddef>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/pop_back.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace sprout {
|
|||
struct pop_back {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::pop_back<Container>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -34,9 +34,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::pop_back(cont)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) - 1
|
||||
sprout::get_internal(sprout::fixed::pop_back(cont)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) - 1
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include <cstddef>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/pop_back_n.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace sprout {
|
|||
struct pop_back_n {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::pop_back_n<N, Container>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -34,9 +34,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::pop_back_n<N>(cont)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) - N
|
||||
sprout::get_internal(sprout::fixed::pop_back_n<N>(cont)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) - N
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include <cstddef>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/pop_front.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace sprout {
|
|||
struct pop_front {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::pop_front<Container>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -34,9 +34,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::pop_front(cont)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) - 1
|
||||
sprout::get_internal(sprout::fixed::pop_front(cont)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) - 1
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include <cstddef>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/pop_front_n.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace sprout {
|
|||
struct pop_front_n {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::pop_front_n<N, Container>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -34,9 +34,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::pop_front_n<N>(cont)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) - N
|
||||
sprout::get_internal(sprout::fixed::pop_front_n<N>(cont)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) - N
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#define SPROUT_OPERATION_FIT_PUSH_BACK_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/push_back.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace sprout {
|
|||
struct push_back {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::push_back<Container, T, Values...>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -35,9 +35,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::push_back(cont, v, values...)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) + 1 + sizeof...(Values)
|
||||
sprout::get_internal(sprout::fixed::push_back(cont, v, values...)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) + 1 + sizeof...(Values)
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#define SPROUT_OPERATION_FIT_PUSH_BACK_N_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/push_back_n.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace sprout {
|
|||
struct push_back_n {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::push_back_n<N, Container, T, Values...>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -35,9 +35,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::push_back_n<N>(cont, v, values...)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) + (1 + sizeof...(Values)) * N
|
||||
sprout::get_internal(sprout::fixed::push_back_n<N>(cont, v, values...)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) + (1 + sizeof...(Values)) * N
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#define SPROUT_OPERATION_FIT_PUSH_FRONT_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/push_front.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace sprout {
|
|||
struct push_front {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::push_front<Container, T, Values...>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -35,9 +35,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::push_front(cont, v, values...)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) + 1 + sizeof...(Values)
|
||||
sprout::get_internal(sprout::fixed::push_front(cont, v, values...)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) + 1 + sizeof...(Values)
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#define SPROUT_OPERATION_FIT_PUSH_FRONT_N_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/push_front_n.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace sprout {
|
|||
struct push_front_n {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::push_front_n<N, Container, T, Values...>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -35,9 +35,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::push_front_n<N>(cont, v, values...)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont) + (1 + sizeof...(Values)) * N
|
||||
sprout::get_internal(sprout::fixed::push_front_n<N>(cont, v, values...)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont) + (1 + sizeof...(Values)) * N
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#define SPROUT_OPERATION_FIT_REALIGN_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/realign.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace sprout {
|
|||
struct realign {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::realign<Container>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -34,7 +34,7 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::realign(cont, v)),
|
||||
sprout::get_internal(sprout::fixed::realign(cont, v)),
|
||||
0,
|
||||
sprout::size(cont)
|
||||
);
|
||||
|
@ -49,7 +49,7 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::realign(cont)),
|
||||
sprout::get_internal(sprout::fixed::realign(cont)),
|
||||
0,
|
||||
sprout::size(cont)
|
||||
);
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#define SPROUT_OPERATION_FIT_REALIGN_TO_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/realign_to.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace sprout {
|
|||
struct realign_to {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::realign_to<Result, Container>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -34,7 +34,7 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::realign_to<Result>(cont, v)),
|
||||
sprout::get_internal(sprout::fixed::realign_to<Result>(cont, v)),
|
||||
0,
|
||||
sprout::size(cont)
|
||||
);
|
||||
|
@ -49,7 +49,7 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::realign_to<Result>(cont)),
|
||||
sprout::get_internal(sprout::fixed::realign_to<Result>(cont)),
|
||||
0,
|
||||
sprout::size(cont)
|
||||
);
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include <cstddef>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/resize.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace sprout {
|
|||
struct resize {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::resize<N, Container>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -35,9 +35,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::resize<N>(cont, v)),
|
||||
sprout::get_internal(sprout::fixed::resize<N>(cont, v)),
|
||||
0,
|
||||
sprout::fixed_container_traits<typename sprout::fit::result_of::resize<N, Container>::type>::fixed_size
|
||||
sprout::container_traits<typename sprout::fit::result_of::resize<N, Container>::type>::static_size
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -50,9 +50,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::resize<N>(cont)),
|
||||
sprout::get_internal(sprout::fixed::resize<N>(cont)),
|
||||
0,
|
||||
sprout::fixed_container_traits<typename sprout::fit::result_of::resize<N, Container>::type>::fixed_size
|
||||
sprout::container_traits<typename sprout::fit::result_of::resize<N, Container>::type>::static_size
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include <cstddef>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/resize_backward.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace sprout {
|
|||
struct resize_backward {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::resize_backward<N, Container>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -35,9 +35,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::resize_backward<N>(cont, v)),
|
||||
sprout::get_internal(sprout::fixed::resize_backward<N>(cont, v)),
|
||||
0,
|
||||
sprout::fixed_container_traits<typename sprout::fit::result_of::resize_backward<N, Container>::type>::fixed_size
|
||||
sprout::container_traits<typename sprout::fit::result_of::resize_backward<N, Container>::type>::static_size
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -50,9 +50,9 @@ namespace sprout {
|
|||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::resize_backward<N>(cont)),
|
||||
sprout::get_internal(sprout::fixed::resize_backward<N>(cont)),
|
||||
0,
|
||||
sprout::fixed_container_traits<typename sprout::fit::result_of::resize_backward<N, Container>::type>::fixed_size
|
||||
sprout::container_traits<typename sprout::fit::result_of::resize_backward<N, Container>::type>::static_size
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#include <cstddef>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/fixed_container/traits.hpp>
|
||||
#include <sprout/fixed_container/functions.hpp>
|
||||
#include <sprout/container/traits.hpp>
|
||||
#include <sprout/container/functions.hpp>
|
||||
#include <sprout/operation/fixed/set.hpp>
|
||||
#include <sprout/sub_array.hpp>
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace sprout {
|
|||
struct set {
|
||||
public:
|
||||
typedef sprout::sub_array<
|
||||
typename sprout::fixed_container_traits<
|
||||
typename sprout::container_traits<
|
||||
typename sprout::fixed::result_of::set<Container, T>::type
|
||||
>::internal_type
|
||||
> type;
|
||||
|
@ -31,14 +31,14 @@ namespace sprout {
|
|||
template<typename Container, typename T>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::set<Container, T>::type set(
|
||||
Container const& cont,
|
||||
typename sprout::fixed_container_traits<Container>::const_iterator pos,
|
||||
typename sprout::container_traits<Container>::const_iterator pos,
|
||||
T const& v
|
||||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::set(cont, pos, v)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont)
|
||||
sprout::get_internal(sprout::fixed::set(cont, pos, v)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont)
|
||||
);
|
||||
}
|
||||
//
|
||||
|
@ -47,14 +47,14 @@ namespace sprout {
|
|||
template<typename Container, typename T>
|
||||
SPROUT_CONSTEXPR inline typename sprout::fit::result_of::set<Container, T>::type set(
|
||||
Container const& cont,
|
||||
typename sprout::fixed_container_traits<Container>::difference_type pos,
|
||||
typename sprout::container_traits<Container>::difference_type pos,
|
||||
T const& v
|
||||
)
|
||||
{
|
||||
return sprout::sub_copy(
|
||||
sprout::get_fixed(sprout::fixed::set(cont, pos, v)),
|
||||
sprout::fixed_begin_offset(cont),
|
||||
sprout::fixed_end_offset(cont)
|
||||
sprout::get_internal(sprout::fixed::set(cont, pos, v)),
|
||||
sprout::internal_begin_offset(cont),
|
||||
sprout::internal_end_offset(cont)
|
||||
);
|
||||
}
|
||||
} // namespace fit
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue