std::get のオーバーロード削除

This commit is contained in:
bolero-MURAKAMI 2011-10-31 20:30:08 +09:00
parent 871f9179c4
commit 40036a4c05
10 changed files with 94 additions and 109 deletions

View file

@ -324,24 +324,6 @@ namespace std {
static_assert(I < N, "tuple_element<>: index out of range");
typedef T type;
};
//
// get
//
template<std::size_t I, typename T, std::size_t N>
T& get(sprout::array<T, N>& t) SPROUT_NOEXCEPT {
static_assert(I < N, "get: index out of range");
return t[I];
}
template<std::size_t I, typename T, std::size_t N>
SPROUT_CONSTEXPR T const& get(sprout::array<T, N> const& t) SPROUT_NOEXCEPT {
static_assert(I < N, "get: index out of range");
return t[I];
}
template<std::size_t I, typename T, std::size_t N>
T&& get(sprout::array<T, N>&& t) SPROUT_NOEXCEPT {
return std::move(std::get<I>(t));
}
} // namespace std
#endif // #ifndef SPROUT_ARRAY_HPP