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#ifdef LL_PLAT_S
36 virtual void send(void const*) /*override*/;
37#else // LL_PLAT_C
38 virtual void send(void const* data) /*override*/;
39#endif
40
41#ifdef LL_PLAT_S
43 getConnectOp(::std::function<void(void const*)>&&) /*override*/;
44#else // LL_PLAT_C
46 getConnectOp(::std::function<void(void const*)>&& handler) /*override*/;
47#endif
48
49 // NOLINTEND
50
51public:
52 // virtual function thunks
53 // NOLINTBEGIN
54#ifdef LL_PLAT_C
55 MCNAPI void $send(void const* data);
56
58 $getConnectOp(::std::function<void(void const*)>&& handler);
59#endif
60
61
62 // NOLINTEND
63
64public:
65 // vftables
66 // NOLINTBEGIN
67 MCNAPI static void** $vftable();
68 // NOLINTEND
69};
70
71} // namespace Bedrock::Detail
Definition SignalPublisher.h:13
Definition DeferredSubscriptionHub.h:16
Definition RawSubscription.h:10
Definition Alias.h:14