1
0
Fork 0
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:
bolero-MURAKAMI 2012-03-31 16:24:13 +09:00
parent 52a2178ac1
commit ad60c8c530
356 changed files with 3183 additions and 3251 deletions

View file

@ -3,7 +3,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/fixed_container/make_clone.hpp>
#include <sprout/container/make.hpp>
#include <sprout/operation/fixed/realign_to.hpp>
#include <sprout/tuple/algorithm/copy.hpp>
#include <sprout/weed/unused.hpp>
@ -51,7 +51,7 @@ namespace sprout {
typename sprout::weed::attr_cnv::result_of::bitwise_or<T, U>::type
>::type bitwise_or(X const& x) {
typedef typename sprout::weed::attr_cnv::result_of::bitwise_or<T, U>::type type;
return sprout::make_clone<type>(x);
return sprout::make<type>(x);
}
// V | container<V, N> -> container<V, N ? N : 1>
template<typename T, typename U, typename X>
@ -70,7 +70,7 @@ namespace sprout {
typename sprout::weed::attr_cnv::result_of::bitwise_or<T, U>::type
>::type bitwise_or(X const& x) {
typedef typename sprout::weed::attr_cnv::result_of::bitwise_or<T, U>::type type;
return sprout::make_clone<type>(x);
return sprout::make<type>(x);
}
// tuple<Vs...> | tuple<Ws...> -> tuple<max(Vs..., Ws...)>
template<typename T, typename U, typename X>
@ -105,7 +105,7 @@ namespace sprout {
typename sprout::weed::attr_cnv::result_of::bitwise_or<T, U>::type
>::type bitwise_or(X const& x) {
typedef typename sprout::weed::attr_cnv::result_of::bitwise_or<T, U>::type type;
return sprout::make_clone<type>(x);
return sprout::make<type>(x);
}
template<typename T, typename U, typename X>
SPROUT_CONSTEXPR inline typename std::enable_if<
@ -114,7 +114,7 @@ namespace sprout {
typename sprout::weed::attr_cnv::result_of::bitwise_or<T, U>::type
>::type bitwise_or(X const& x) {
typedef typename sprout::weed::attr_cnv::result_of::bitwise_or<T, U>::type type;
return sprout::make_clone<type>();
return sprout::make<type>();
}
// unused | V -> container<V, 1>
template<typename T, typename U, typename X>
@ -124,7 +124,7 @@ namespace sprout {
typename sprout::weed::attr_cnv::result_of::bitwise_or<T, U>::type
>::type bitwise_or(X const& x) {
typedef typename sprout::weed::attr_cnv::result_of::bitwise_or<T, U>::type type;
return sprout::make_clone<type>(x);
return sprout::make<type>(x);
}
template<typename T, typename U, typename X>
SPROUT_CONSTEXPR inline typename std::enable_if<
@ -133,7 +133,7 @@ namespace sprout {
typename sprout::weed::attr_cnv::result_of::bitwise_or<T, U>::type
>::type bitwise_or(X const& x) {
typedef typename sprout::weed::attr_cnv::result_of::bitwise_or<T, U>::type type;
return sprout::make_clone<type>();
return sprout::make<type>();
}
// unused >> unused -> unused
template<typename T, typename U, typename X>

View file

@ -55,9 +55,9 @@ namespace sprout {
> {
public:
typedef typename std::conditional<
sprout::fixed_container_traits<T>::fixed_size != 0,
sprout::container_traits<T>::static_size != 0,
T,
typename sprout::rebind_fixed_size<T>::template apply<1>::type
typename sprout::container_transform_traits<T>::template rebind_size<1>::type
>::type type;
};
// V | container<V, N> -> container<V, N ? N : 1>
@ -71,9 +71,9 @@ namespace sprout {
> {
public:
typedef typename std::conditional<
sprout::fixed_container_traits<T>::fixed_size != 0,
sprout::container_traits<T>::static_size != 0,
U,
typename sprout::rebind_fixed_size<U>::template apply<1>::type
typename sprout::container_transform_traits<U>::template rebind_size<1>::type
>::type type;
};
// tuple<Vs...> | tuple<Ws...> -> tuple<max(Vs..., Ws...)>

View file

@ -84,7 +84,7 @@ namespace sprout {
typename sprout::weed::attr_cnv::result_of::shift_left<T, U>::type
>::type shift_left(T const& t, U const& u) {
typedef typename sprout::weed::attr_cnv::result_of::shift_left<T, U>::type type;
return sprout::make_clone<type>(t, u);
return sprout::make<type>(t, u);
}
// V >> W -> tuple<V, W>
template<typename T, typename U>

View file

@ -5,7 +5,7 @@
#include <type_traits>
#include <sprout/config.hpp>
#include <sprout/array.hpp>
#include <sprout/fixed_container/make_clone.hpp>
#include <sprout/container/make.hpp>
#include <sprout/algorithm/string/join.hpp>
#include <sprout/weed/unused.hpp>
#include <sprout/weed/traits/type/is_container.hpp>
@ -25,7 +25,7 @@ namespace sprout {
typename sprout::weed::attr_cnv::result_of::times<Limit, T>::type
>::type times(Args const&... args) {
return sprout::algorithm::join(
sprout::make_clone<sprout::array<T, Limit> >(args...)
sprout::make<sprout::array<T, Limit> >(args...)
);
}
// times<N>(V) -> container<V, N>
@ -36,7 +36,7 @@ namespace sprout {
typename sprout::weed::attr_cnv::result_of::times<Limit, T>::type
>::type times(Args const&... args) {
typedef typename sprout::weed::attr_cnv::result_of::times<Limit, T>::type type;
return sprout::make_clone<type>(args...);
return sprout::make<type>(args...);
}
// times<N>(unused) -> unused
template<std::size_t Limit, typename T, typename... Args>