@@ -51,25 +51,27 @@ class TestWorkerWithUserDefRecv : public AsyncWorker {
51
51
};
52
52
53
53
// Using default std::allocator impl, but assuming user can define their own
54
- // alloc/dealloc methods
54
+ // allocate/deallocate methods
55
55
class CustomAllocWorker : public AsyncWorker {
56
+ using Allocator = std::allocator<CustomAllocWorker>;
57
+
56
58
public:
57
59
CustomAllocWorker (Function& cb) : AsyncWorker(cb){};
58
60
static void DoWork (const CallbackInfo& info) {
59
61
Function cb = info[0 ].As <Function>();
60
- std::allocator<CustomAllocWorker> create_alloc ;
61
- CustomAllocWorker* newWorker = create_alloc .allocate (1 );
62
- create_alloc. construct (newWorker, cb);
62
+ Allocator allocator ;
63
+ CustomAllocWorker* newWorker = allocator .allocate (1 );
64
+ std::allocator_traits<Allocator>:: construct (allocator, newWorker, cb);
63
65
newWorker->Queue ();
64
66
}
65
67
66
68
protected:
67
69
void Execute () override {}
68
70
void Destroy () override {
69
71
assert (this ->_secretVal == 24 );
70
- std::allocator<CustomAllocWorker> deallocer ;
71
- deallocer. destroy (this );
72
- deallocer .deallocate (this , 1 );
72
+ Allocator allocator ;
73
+ std::allocator_traits<Allocator>:: destroy (allocator, this );
74
+ allocator .deallocate (this , 1 );
73
75
}
74
76
75
77
private:
@@ -108,7 +110,7 @@ class TestWorker : public AsyncWorker {
108
110
: AsyncWorker(cb, resource_name, resource) {}
109
111
TestWorker (Function cb, const char * resource_name)
110
112
: AsyncWorker(cb, resource_name) {}
111
- bool _succeed;
113
+ bool _succeed{} ;
112
114
};
113
115
114
116
class TestWorkerWithResult : public AsyncWorker {
@@ -143,7 +145,7 @@ class TestWorkerWithResult : public AsyncWorker {
143
145
const char * resource_name,
144
146
const Object& resource)
145
147
: AsyncWorker(cb, resource_name, resource) {}
146
- bool _succeed;
148
+ bool _succeed{} ;
147
149
};
148
150
149
151
class TestWorkerNoCallback : public AsyncWorker {
@@ -194,7 +196,7 @@ class TestWorkerNoCallback : public AsyncWorker {
194
196
: AsyncWorker(env, resource_name, resource),
195
197
_deferred(Napi::Promise::Deferred::New(env)) {}
196
198
Promise::Deferred _deferred;
197
- bool _succeed;
199
+ bool _succeed{} ;
198
200
};
199
201
200
202
class EchoWorker : public AsyncWorker {
0 commit comments