summaryrefslogtreecommitdiff
path: root/Rx/v2/src/rxcpp/operators/rx-merge.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'Rx/v2/src/rxcpp/operators/rx-merge.hpp')
-rw-r--r--Rx/v2/src/rxcpp/operators/rx-merge.hpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/Rx/v2/src/rxcpp/operators/rx-merge.hpp b/Rx/v2/src/rxcpp/operators/rx-merge.hpp
index 9faa862..04d5a41 100644
--- a/Rx/v2/src/rxcpp/operators/rx-merge.hpp
+++ b/Rx/v2/src/rxcpp/operators/rx-merge.hpp
@@ -15,20 +15,20 @@ namespace detail {
template<class T, class Observable, class Coordination>
struct merge
- : public operator_base<typename std::decay<T>::type::value_type>
+ : public operator_base<rxu::value_type_t<rxu::decay_t<T>>>
{
//static_assert(is_observable<Observable>::value, "merge requires an observable");
//static_assert(is_observable<T>::value, "merge requires an observable that contains observables");
typedef merge<T, Observable, Coordination> this_type;
- typedef typename std::decay<T>::type source_value_type;
- typedef typename std::decay<Observable>::type source_type;
+ typedef rxu::decay_t<T> source_value_type;
+ typedef rxu::decay_t<Observable> source_type;
typedef typename source_type::source_operator_type source_operator_type;
typedef typename source_value_type::value_type value_type;
- typedef typename std::decay<Coordination>::type coordination_type;
+ typedef rxu::decay_t<Coordination> coordination_type;
typedef typename coordination_type::coordinator_type coordinator_type;
struct values
@@ -172,7 +172,7 @@ struct merge
template<class Coordination>
class merge_factory
{
- typedef typename std::decay<Coordination>::type coordination_type;
+ typedef rxu::decay_t<Coordination> coordination_type;
coordination_type coordination;
public:
@@ -183,9 +183,9 @@ public:
template<class Observable>
auto operator()(Observable source)
- -> observable<typename merge<typename Observable::value_type, Observable, Coordination>::value_type, merge<typename Observable::value_type, Observable, Coordination>> {
- return observable<typename merge<typename Observable::value_type, Observable, Coordination>::value_type, merge<typename Observable::value_type, Observable, Coordination>>(
- merge<typename Observable::value_type, Observable, Coordination>(std::move(source), coordination));
+ -> observable<rxu::value_type_t<merge<rxu::value_type_t<Observable>, Observable, Coordination>>, merge<rxu::value_type_t<Observable>, Observable, Coordination>> {
+ return observable<rxu::value_type_t<merge<rxu::value_type_t<Observable>, Observable, Coordination>>, merge<rxu::value_type_t<Observable>, Observable, Coordination>>(
+ merge<rxu::value_type_t<Observable>, Observable, Coordination>(std::move(source), coordination));
}
};