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
|
@ -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>
|
||||
|
|
|
@ -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...)>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue