Skip to content

Commit a145b43

Browse files
committed
build fixup
1 parent 31b7664 commit a145b43

6 files changed

Lines changed: 66 additions & 23 deletions

File tree

src/se/impl/async_dispatcher_impl.hpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,16 @@
1313
namespace jam::se {
1414

1515
template <uint32_t kCount, uint32_t kPoolSize>
16-
class AsyncDispatcher final : public IDispatcher,
17-
utils::NoCopy,
18-
utils::NoMove {
16+
class AsyncDispatcher final : public IDispatcher {
1917
public:
18+
// Disable copying
19+
AsyncDispatcher(const AsyncDispatcher&) = delete;
20+
AsyncDispatcher& operator=(const AsyncDispatcher&) = delete;
21+
22+
// Disable moving
23+
AsyncDispatcher(AsyncDispatcher&&) = delete;
24+
AsyncDispatcher& operator=(AsyncDispatcher&&) = delete;
25+
2026
static constexpr uint32_t kHandlersCount = kCount;
2127
static constexpr uint32_t kPoolThreadsCount = kPoolSize;
2228

src/se/impl/scheduler_impl.hpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
namespace jam::se {
2323

24-
class SchedulerBase : public IScheduler, utils::NoCopy, utils::NoMove {
24+
class SchedulerBase : public IScheduler {
2525
private:
2626
using Time = std::chrono::high_resolution_clock;
2727
using Timepoint = std::chrono::time_point<Time>;
@@ -118,6 +118,14 @@ namespace jam::se {
118118
}
119119

120120
public:
121+
// Disable copying
122+
SchedulerBase(const SchedulerBase&) = delete;
123+
SchedulerBase& operator=(const SchedulerBase&) = delete;
124+
125+
// Disable moving
126+
SchedulerBase(SchedulerBase&&) = delete;
127+
SchedulerBase& operator=(SchedulerBase&&) = delete;
128+
121129
SchedulerBase() : is_busy_(false) {
122130
proceed_.test_and_set();
123131
}

src/se/impl/subscriber.hpp

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,26 @@ namespace jam::se {
1515
using SubscriptionSetId = uint32_t;
1616

1717
/**
18-
* Base class that determines the subscriber.
19-
* @tparam EventKey type of listening event
18+
* Base implementation of subscription system's subscriber.
19+
* @tparam EventKey type to specify notified events
2020
* @tparam Dispatcher thread dispatcher to execute tasks
2121
* @tparam Arguments list of event arguments
2222
*/
2323
template <typename EventKey, typename Dispatcher, typename... Arguments>
2424
class Subscriber : public std::enable_shared_from_this<
25-
Subscriber<EventKey, Dispatcher, Arguments...>>,
26-
utils::NoMove,
27-
utils::NoCopy {
25+
Subscriber<EventKey, Dispatcher, Arguments...>> {
2826
public:
27+
// Default constructor
28+
Subscriber() = default;
29+
30+
// Disable copying
31+
Subscriber(const Subscriber&) = delete;
32+
Subscriber& operator=(const Subscriber&) = delete;
33+
34+
// Disable moving
35+
Subscriber(Subscriber&&) = delete;
36+
Subscriber& operator=(Subscriber&&) = delete;
37+
2938
using EventType = EventKey;
3039
virtual ~Subscriber() = default;
3140

src/se/impl/subscription_engine.hpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,16 @@ namespace jam::se {
3232
class SubscriptionEngine final
3333
: public IDisposable,
3434
public std::enable_shared_from_this<
35-
SubscriptionEngine<EventKey, Dispatcher, Receiver>>,
36-
utils::NoMove,
37-
utils::NoCopy {
35+
SubscriptionEngine<EventKey, Dispatcher, Receiver>> {
3836
public:
37+
// Disable copying
38+
SubscriptionEngine(const SubscriptionEngine&) = delete;
39+
SubscriptionEngine& operator=(const SubscriptionEngine&) = delete;
40+
41+
// Disable moving
42+
SubscriptionEngine(SubscriptionEngine&&) = delete;
43+
SubscriptionEngine& operator=(SubscriptionEngine&&) = delete;
44+
3945
using EventKeyType = EventKey;
4046
using ReceiverType = Receiver;
4147
using SubscriberType = Receiver;

src/se/impl/subscription_manager.hpp

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,16 @@ namespace jam::se {
2828
template <uint32_t kHandlersCount, uint32_t kPoolSize>
2929
class SubscriptionManager final
3030
: public std::enable_shared_from_this<
31-
SubscriptionManager<kHandlersCount, kPoolSize>>,
32-
utils::NoMove,
33-
utils::NoCopy {
31+
SubscriptionManager<kHandlersCount, kPoolSize>> {
3432
public:
33+
// Disable copying
34+
SubscriptionManager(const SubscriptionManager&) = delete;
35+
SubscriptionManager& operator=(const SubscriptionManager&) = delete;
36+
37+
// Disable moving
38+
SubscriptionManager(SubscriptionManager&&) = delete;
39+
SubscriptionManager& operator=(SubscriptionManager&&) = delete;
40+
3541
using Dispatcher = jam::se::IDispatcher;
3642

3743
private:
@@ -73,7 +79,7 @@ namespace jam::se {
7379
{
7480
std::shared_lock lock(engines_cs_);
7581
for (auto &descriptor : engines_) {
76-
utils::reinterpret_pointer_cast<IDisposable>(descriptor.second)
82+
std::reinterpret_pointer_cast<IDisposable>(descriptor.second)
7783
->dispose();
7884
}
7985
}
@@ -98,12 +104,12 @@ namespace jam::se {
98104
{
99105
std::shared_lock lock(engines_cs_);
100106
if (auto it = engines_.find(engineId); it != engines_.end()) {
101-
return utils::reinterpret_pointer_cast<EngineType>(it->second);
107+
return std::reinterpret_pointer_cast<EngineType>(it->second);
102108
}
103109
}
104110
std::unique_lock lock(engines_cs_);
105111
if (auto it = engines_.find(engineId); it != engines_.end()) {
106-
return utils::reinterpret_pointer_cast<EngineType>(it->second);
112+
return std::reinterpret_pointer_cast<EngineType>(it->second);
107113
}
108114

109115
/// To be sure IDisposable is the first base class, because of later cast
@@ -114,7 +120,7 @@ namespace jam::se {
114120
reinterpret_cast<EngineType *>(0x1))));
115121

116122
auto obj = std::make_shared<EngineType>(dispatcher_);
117-
engines_[engineId] = utils::reinterpret_pointer_cast<void>(obj);
123+
engines_[engineId] = std::reinterpret_pointer_cast<void>(obj);
118124
return obj;
119125
}
120126

@@ -152,7 +158,7 @@ namespace jam::se {
152158
{
153159
std::shared_lock lock(engines_cs_);
154160
if (auto it = engines_.find(engineId); it != engines_.end()) {
155-
engine = utils::reinterpret_pointer_cast<EngineType>(it->second);
161+
engine = std::reinterpret_pointer_cast<EngineType>(it->second);
156162
} else {
157163
return;
158164
}

src/se/impl/sync_dispatcher_impl.hpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,21 @@
1212
namespace jam::se {
1313

1414
template <uint32_t kCount, uint32_t kPoolSize>
15-
class SyncDispatcher final : public IDispatcher,
16-
utils::NoCopy,
17-
utils::NoMove {
15+
class SyncDispatcher final : public IDispatcher {
1816
private:
1917
using Parent = IDispatcher;
2018

2119
public:
20+
// Disable copying
21+
SyncDispatcher(const SyncDispatcher&) = delete;
22+
SyncDispatcher& operator=(const SyncDispatcher&) = delete;
23+
24+
// Disable moving
25+
SyncDispatcher(SyncDispatcher&&) = delete;
26+
SyncDispatcher& operator=(SyncDispatcher&&) = delete;
27+
28+
static constexpr uint32_t kHandlersCount = kCount;
29+
2230
SyncDispatcher() = default;
2331

2432
void dispose() override {}

0 commit comments

Comments
 (0)