src: add public virtual destructor for KVStore
As KVStore has derived classes, it is essential to declare a public virtual destructor in the base KVStore class. Otherwise, deleting derived class instances using base class pointers would potentially cause undefined behaviour. Additionally, since we are implementing a non-default destructor, the special member functions have also been implemented in order to abide by the rule of five. PR-URL: https://github.com/nodejs/node/pull/28737 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
parent
49144ab64d
commit
7a1f33c394
@ -609,6 +609,13 @@ class AsyncRequest : public MemoryRetainer {
|
||||
|
||||
class KVStore {
|
||||
public:
|
||||
KVStore() = default;
|
||||
virtual ~KVStore() = default;
|
||||
KVStore(const KVStore&) = delete;
|
||||
KVStore& operator=(const KVStore&) = delete;
|
||||
KVStore(KVStore&&) = delete;
|
||||
KVStore& operator=(KVStore&&) = delete;
|
||||
|
||||
virtual v8::Local<v8::String> Get(v8::Isolate* isolate,
|
||||
v8::Local<v8::String> key) const = 0;
|
||||
virtual void Set(v8::Isolate* isolate,
|
||||
|
Loading…
x
Reference in New Issue
Block a user