@@ -58,17 +58,17 @@ using combine_latest_invalid_t = typename combine_latest_invalid<AN...>::type;
5858
5959template <class Selector , class ... ObservableN>
6060struct is_combine_latest_selector_check {
61- typedef rxu::decay_t <Selector> selector_type ;
61+ using selector_type = rxu::decay_t <Selector>;
6262
6363 struct tag_not_valid ;
6464 template <class CS , class ... CON>
65- static auto check (int ) -> decltype((*(CS*)nullptr)((*( typename CON::value_type*)nullptr )...));
65+ static auto check (int ) -> decltype(std::declval<CS>()((std::declval< typename CON::value_type>() )...));
6666 template <class CS , class ... CON>
6767 static tag_not_valid check (...);
6868
6969 using type = decltype (check<selector_type, rxu::decay_t <ObservableN>...>(0 ));
7070
71- static const bool value = !std::is_same <type, tag_not_valid>::value ;
71+ static const bool value = !std::is_same_v <type, tag_not_valid>;
7272};
7373
7474template <class Selector , class ... ObservableN>
@@ -77,10 +77,10 @@ struct invalid_combine_latest_selector {
7777};
7878
7979template <class Selector , class ... ObservableN>
80- struct is_combine_latest_selector : public std ::conditional <
80+ struct is_combine_latest_selector : public std ::conditional_t <
8181 is_combine_latest_selector_check<Selector, ObservableN...>::value,
8282 is_combine_latest_selector_check<Selector, ObservableN...>,
83- invalid_combine_latest_selector<Selector, ObservableN...>>::type {
83+ invalid_combine_latest_selector<Selector, ObservableN...>> {
8484};
8585
8686template <class Selector , class ... ON>
@@ -89,29 +89,29 @@ using result_combine_latest_selector_t = typename is_combine_latest_selector<Sel
8989template <class Coordination , class Selector , class ... ObservableN>
9090struct combine_latest_traits {
9191
92- typedef std::tuple<ObservableN...> tuple_source_type ;
93- typedef std::tuple<rxu::detail::maybe< typename ObservableN::value_type>...> tuple_source_value_type ;
92+ using tuple_source_type = std::tuple<ObservableN...>;
93+ using tuple_source_value_type = std::tuple<rxu::detail::maybe < typename ObservableN::value_type>...>;
9494
95- typedef rxu::decay_t <Selector> selector_type ;
96- typedef rxu::decay_t <Coordination> coordination_type ;
95+ using selector_type = rxu::decay_t <Selector>;
96+ using coordination_type = rxu::decay_t <Coordination>;
9797
98- typedef typename is_combine_latest_selector<selector_type, ObservableN...>::type value_type ;
98+ using value_type = typename is_combine_latest_selector<selector_type, ObservableN...>::type;
9999};
100100
101101template <class Coordination , class Selector , class ... ObservableN>
102102struct combine_latest : public operator_base <rxu::value_type_t <combine_latest_traits<Coordination, Selector, ObservableN...>>>
103103{
104- typedef combine_latest<Coordination, Selector, ObservableN...> this_type ;
104+ using this_type = combine_latest<Coordination, Selector, ObservableN...>;
105105
106- typedef combine_latest_traits<Coordination, Selector, ObservableN...> traits ;
106+ using traits = combine_latest_traits<Coordination, Selector, ObservableN...>;
107107
108- typedef typename traits::tuple_source_type tuple_source_type;
109- typedef typename traits::tuple_source_value_type tuple_source_value_type;
108+ using tuple_source_type = typename traits::tuple_source_type;
109+ using tuple_source_value_type = typename traits::tuple_source_value_type;
110110
111- typedef typename traits::selector_type selector_type;
111+ using selector_type = typename traits::selector_type;
112112
113- typedef typename traits::coordination_type coordination_type;
114- typedef typename coordination_type::coordinator_type coordinator_type;
113+ using coordination_type = typename traits::coordination_type;
114+ using coordinator_type = typename coordination_type::coordinator_type;
115115
116116 struct values
117117 {
@@ -135,7 +135,7 @@ struct combine_latest : public operator_base<rxu::value_type_t<combine_latest_tr
135135 template <int Index, class State >
136136 void subscribe_one (std::shared_ptr<State> state) const {
137137
138- typedef typename std::tuple_element<Index, tuple_source_type>::type::value_type source_value_type ;
138+ using source_value_type = typename std::tuple_element<Index, tuple_source_type>::type::value_type;
139139
140140 composite_subscription innercs;
141141
@@ -200,7 +200,7 @@ struct combine_latest : public operator_base<rxu::value_type_t<combine_latest_tr
200200 void on_subscribe (Subscriber scbr) const {
201201 static_assert (is_subscriber<Subscriber>::value, " subscribe must be passed a subscriber" );
202202
203- typedef Subscriber output_type;
203+ using output_type = Subscriber ;
204204
205205 struct combine_latest_state_type
206206 : public std::enable_shared_from_this<combine_latest_state_type>
0 commit comments