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
15
namespace
rpp::subjects::utils
16
{
17
namespace
details
18
{
19
template
<
typename
T>
20
struct
extract_subject_type
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
29
template
<
typename
T>
30
using
extract_subject_type_t =
typename
details::extract_subject_type<T>::type;
31
}
// namespace rpp::subjects::utils
rpp::subjects::details::base_subject
Definition:
base_subject.hpp:23
rpp::subjects::utils::details::extract_subject_type
Definition:
type_traits.hpp:21
src
rpp
rpp
subjects
type_traits.hpp
Generated by
1.9.7