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 // NOLINTEND
40
41public:
42 // virtual function thunks
43 // NOLINTBEGIN
44#ifdef LL_PLAT_C
45 MCNAPI void $send(void const* data);
46
48 $getConnectOp(::std::function<void(void const*)>&& handler);
49#endif
50
51
52 // NOLINTEND
53
54public:
55 // vftables
56 // NOLINTBEGIN
57 MCNAPI static void** $vftable();
58 // NOLINTEND
59};
60
61} // namespace Bedrock::Detail
Definition SignalPublisher.h:13
Definition DeferredSubscriptionHub.h:17
Definition RawSubscription.h:10
Definition Alias.h:14