types::rebind_types の tuple に対する特殊化が抜けていた問題を修正

This commit is contained in:
bolero-MURAKAMI 2011-12-06 19:55:08 +09:00
parent 19db2587e5
commit 034bd6f7e4
2 changed files with 33 additions and 0 deletions

View file

@ -5,6 +5,25 @@
#include <sprout/tuple/tuple.hpp> #include <sprout/tuple/tuple.hpp>
#include <sprout/type/rebind_types.hpp> #include <sprout/type/rebind_types.hpp>
namespace sprout {
namespace types {
//
// rebind_types
//
template<typename... Ts>
struct rebind_types<sprout::tuples::tuple<Ts...> > {
public:
template<typename... Types>
struct apply {
public:
typedef sprout::tuples::tuple<Types...> type;
};
};
} // namespace types
using sprout::types::rebind_types;
} // namespace sprout
namespace sprout { namespace sprout {
namespace tuples { namespace tuples {
// //

View file

@ -12,6 +12,20 @@ namespace sprout {
template<typename Tuple> template<typename Tuple>
struct rebind_types; struct rebind_types;
template<typename Tuple>
struct rebind_types<Tuple const> {
public:
template<typename... Types>
struct apply {
public:
typedef typename sprout::types::rebind_types<
Tuple
>::template apply<
Types...
>::type const type;
};
};
template<typename... Ts> template<typename... Ts>
struct rebind_types<sprout::types::type_tuple<Ts...> > { struct rebind_types<sprout::types::type_tuple<Ts...> > {
public: public: