Reduce type deduction which is already known.

This commit is contained in:
Kohei Takahashi
2017-10-04 01:43:45 +09:00
parent e5d073d786
commit 24d1c7fd1a

View File

@ -133,27 +133,27 @@ namespace boost { namespace fusion
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
store(store const& rhs) store(store const& rhs)
: elem(rhs.get()) : elem(rhs.elem)
{} {}
BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
store& store&
operator=(store const& rhs) operator=(store const& rhs)
{ {
elem = rhs.get(); elem = rhs.elem;
return *this; return *this;
} }
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
store(store&& rhs) store(store&& rhs)
: elem(static_cast<T&&>(rhs.get())) : elem(static_cast<T&&>(rhs.elem))
{} {}
BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
store& store&
operator=(store&& rhs) operator=(store&& rhs)
{ {
elem = static_cast<T&&>(rhs.get()); elem = static_cast<T&&>(rhs.elem);
return *this; return *this;
} }
@ -168,11 +168,6 @@ namespace boost { namespace fusion
: elem(std::forward<U>(rhs)) : elem(std::forward<U>(rhs))
{} {}
BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
T & get() { return elem; }
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
T const& get() const { return elem; }
T elem; T elem;
}; };
@ -238,16 +233,16 @@ namespace boost { namespace fusion
template <std::size_t N, typename U> template <std::size_t N, typename U>
static BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED
auto at_detail(store<N, U>* this_) -> decltype(this_->get()) U& at_detail(store<N, U>* this_)
{ {
return this_->get(); return this_->elem;
} }
template <std::size_t N, typename U> template <std::size_t N, typename U>
static BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
auto at_detail(store<N, U> const* this_) -> decltype(this_->get()) U const& at_detail(store<N, U> const* this_)
{ {
return this_->get(); return this_->elem;
} }
template <typename J> template <typename J>