diff options
author | nga <nga@yandex-team.ru> | 2022-02-10 16:48:09 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:48:09 +0300 |
commit | 1f553f46fb4f3c5eec631352cdd900a0709016af (patch) | |
tree | a231fba2c03b440becaea6c86a2702d0bfb0336e /library/cpp/messagebus/nondestroying_holder.h | |
parent | c4de7efdedc25b49cbea74bd589eecb61b55b60a (diff) | |
download | ydb-1f553f46fb4f3c5eec631352cdd900a0709016af.tar.gz |
Restoring authorship annotation for <nga@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/messagebus/nondestroying_holder.h')
-rw-r--r-- | library/cpp/messagebus/nondestroying_holder.h | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/library/cpp/messagebus/nondestroying_holder.h b/library/cpp/messagebus/nondestroying_holder.h index f4725d696f..7349ed1381 100644 --- a/library/cpp/messagebus/nondestroying_holder.h +++ b/library/cpp/messagebus/nondestroying_holder.h @@ -1,39 +1,39 @@ -#pragma once - -#include <util/generic/ptr.h> - -template <typename T> -class TNonDestroyingHolder: public THolder<T> { -public: +#pragma once + +#include <util/generic/ptr.h> + +template <typename T> +class TNonDestroyingHolder: public THolder<T> { +public: TNonDestroyingHolder(T* t = nullptr) noexcept - : THolder<T>(t) - { - } - + : THolder<T>(t) + { + } + TNonDestroyingHolder(TAutoPtr<T> t) noexcept - : THolder<T>(t) - { - } - - ~TNonDestroyingHolder() { + : THolder<T>(t) + { + } + + ~TNonDestroyingHolder() { Y_VERIFY(!*this, "stored object must be explicitly released"); - } -}; - -template <class T> -class TNonDestroyingAutoPtr: public TAutoPtr<T> { -public: + } +}; + +template <class T> +class TNonDestroyingAutoPtr: public TAutoPtr<T> { +public: inline TNonDestroyingAutoPtr(T* t = 0) noexcept - : TAutoPtr<T>(t) - { - } - + : TAutoPtr<T>(t) + { + } + inline TNonDestroyingAutoPtr(const TAutoPtr<T>& t) noexcept - : TAutoPtr<T>(t.Release()) - { - } - + : TAutoPtr<T>(t.Release()) + { + } + inline ~TNonDestroyingAutoPtr() { Y_VERIFY(!*this, "stored object must be explicitly released"); - } -}; + } +}; |