aboutsummaryrefslogtreecommitdiffstats
path: root/util/generic/hash_set.h
diff options
context:
space:
mode:
authorhalyavin <halyavin@yandex-team.com>2022-08-05 13:16:26 +0300
committerhalyavin <halyavin@yandex-team.com>2022-08-05 13:16:26 +0300
commit68d8479d07e0b689ba126cf2c159ae7f11afb9cf (patch)
tree92289178ebded927b8369e4eb1c931be730c6333 /util/generic/hash_set.h
parentf346528af256244b692e713a8b6891957ae58dc6 (diff)
downloadydb-68d8479d07e0b689ba126cf2c159ae7f11afb9cf.tar.gz
Mark clear and reset methods as reinitializing the object.
This means, that moved-from object can be safely used after the call of such method. This attribute is used by clang-tidy which checks that moved-from objects are not used unless a reinitialization method is called first.
Diffstat (limited to 'util/generic/hash_set.h')
-rw-r--r--util/generic/hash_set.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/util/generic/hash_set.h b/util/generic/hash_set.h
index e8088cf23b4..fd8851c2993 100644
--- a/util/generic/hash_set.h
+++ b/util/generic/hash_set.h
@@ -3,6 +3,8 @@
#include "fwd.h"
#include "hash.h"
+#include <util/system/compiler.h>
+
#include <initializer_list>
#include <utility>
@@ -227,13 +229,13 @@ public:
void erase(iterator f, iterator l) {
rep.erase(f, l);
}
- void clear() {
+ Y_REINITIALIZES_OBJECT void clear() {
rep.clear();
}
- void clear(size_t downsize_hint) {
+ Y_REINITIALIZES_OBJECT void clear(size_t downsize_hint) {
rep.clear(downsize_hint);
}
- void basic_clear() {
+ Y_REINITIALIZES_OBJECT void basic_clear() {
rep.basic_clear();
}
void release_nodes() {
@@ -435,13 +437,13 @@ public:
void erase(iterator f, iterator l) {
rep.erase(f, l);
}
- void clear() {
+ Y_REINITIALIZES_OBJECT void clear() {
rep.clear();
}
- void clear(size_t downsize_hint) {
+ Y_REINITIALIZES_OBJECT void clear(size_t downsize_hint) {
rep.clear(downsize_hint);
}
- void basic_clear() {
+ Y_REINITIALIZES_OBJECT void basic_clear() {
rep.basic_clear();
}
void release_nodes() {