ReactivePlusPlus
One more implementation of ReactiveX approach in C++ with care about performance and templates in mind
 
Loading...
Searching...
No Matches
type_traits.hpp
1// ReactivePlusPlus library
2//
3// Copyright Aleksey Loginov 2022 - present.
4// Distributed under the Boost Software License, Version 1.0.
5// (See accompanying file LICENSE_1_0.txt or copy at
6// https://www.boost.org/LICENSE_1_0.txt)
7//
8// Project home: https://github.com/victimsnino/ReactivePlusPlus
9//
10
11#pragma once
12
13#include <rpp/subjects/fwd.hpp>
14
15namespace rpp::subjects::utils
16{
17namespace details
18{
19 template<typename T>
21 {
22 template<typename TT, typename Strategy>
23 static TT deduce(const subjects::details::base_subject<TT, Strategy>&);
24
25 using type = decltype(deduce(std::declval<std::decay_t<T>>()));
26 };
27} // namespace details
28
29template<typename T>
30using extract_subject_type_t = typename details::extract_subject_type<T>::type;
31} // namespace rpp::subjects::utils
Definition: base_subject.hpp:23