LeviLamina
Loading...
Searching...
No Matches
ThreadingPublisherBase.h
1
#pragma once
2
3
#include "mc/_HeaderOutputPredefine.h"
4
#include "mc/deps/core/utility/pub_sub/detail/FastDispatchPublisherBase_MultiThreaded.h"
5
#include "mc/deps/core/utility/pub_sub/detail/FastDispatchPublisherBase_SingleThreaded.h"
6
#include "mc/deps/core/utility/pub_sub/thread_model/MultiThreaded.h"
7
8
namespace
Bedrock::PubSub::Detail {
9
10
template
<
typename
ThreadModel>
11
struct
FastDispatchBaseSelector
;
12
13
template
<>
14
struct
FastDispatchBaseSelector
<ThreadModel::SingleThreaded> {
15
using
type =
FastDispatchPublisherBase_SingleThreaded
;
16
};
17
18
template
<>
19
struct
FastDispatchBaseSelector
<ThreadModel::MultiThreaded> {
20
using
type =
FastDispatchPublisherBase_MultiThreaded
;
21
};
22
23
template
<
typename
ThreadModel>
24
using
FastDispatchPublisherBase =
FastDispatchBaseSelector<ThreadModel>::type
;
25
26
template
<
typename
ThreadingModel>
27
class
ThreadingPublisherBase
:
public
FastDispatchPublisherBase<ThreadingModel> {
28
protected
:
29
void
_disconnect(
SubscriptionBodyBase
&)
override
;
30
};
31
32
}
// namespace Bedrock::PubSub::Detail
Bedrock::PubSub::Detail::FastDispatchPublisherBase_MultiThreaded
Definition
FastDispatchPublisherBase_MultiThreaded.h:16
Bedrock::PubSub::Detail::FastDispatchPublisherBase_SingleThreaded
Definition
FastDispatchPublisherBase_SingleThreaded.h:13
Bedrock::PubSub::Detail::SubscriptionBodyBase
Definition
SubscriptionBodyBase.h:20
Bedrock::PubSub::Detail::ThreadingPublisherBase
Definition
ThreadingPublisherBase.h:27
Bedrock::PubSub::Detail::FastDispatchBaseSelector
Definition
ThreadingPublisherBase.h:11
src
mc
deps
core
utility
pub_sub
detail
ThreadingPublisherBase.h
Generated on
for LeviLamina by
1.16.1