LeviLamina
Loading...
Searching...
No Matches
FastCopyableSignalPublisher.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/signal/SignalPublisher.h"
7#include "mc/deps/core/utility/pub_sub/DeferredPublisher.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace Bedrock::PubSub { class DeferredSubscriptionHub; }
12namespace Bedrock::PubSub { class RawSubscription; }
13namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
14// clang-format on
15
16namespace Bedrock::Detail {
17
18class FastCopyableSignalPublisher : public ::Bedrock::Detail::SignalPublisher {
19public:
20 // member variables
21 // NOLINTBEGIN
24 // NOLINTEND
25
26public:
27 // prevent constructor by default
28 FastCopyableSignalPublisher& operator=(FastCopyableSignalPublisher const&);
29 FastCopyableSignalPublisher(FastCopyableSignalPublisher const&);
30 FastCopyableSignalPublisher();
31
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual void send(void const* data) /*override*/;
36
38 getConnectOp(::std::function<void(void const*)>&& handler) /*override*/;
39
40 virtual ~FastCopyableSignalPublisher() /*override*/ = default;
41 // NOLINTEND
42
43public:
44 // virtual function thunks
45 // NOLINTBEGIN
46#ifdef LL_PLAT_C
47 MCNAPI void $send(void const* data);
48
50 $getConnectOp(::std::function<void(void const*)>&& handler);
51#endif
52
53
54 // NOLINTEND
55
56public:
57 // vftables
58 // NOLINTBEGIN
59 MCNAPI static void** $vftable();
60 // NOLINTEND
61};
62
63} // namespace Bedrock::Detail
Definition SignalPublisher.h:13
Definition DeferredSubscriptionHub.h:16
Definition RawSubscription.h:10
Definition Alias.h:14