aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/Foundation/include/Poco/SingletonHolder.h
diff options
context:
space:
mode:
authororivej <orivej@yandex-team.ru>2022-02-10 16:45:01 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:01 +0300
commit2d37894b1b037cf24231090eda8589bbb44fb6fc (patch)
treebe835aa92c6248212e705f25388ebafcf84bc7a1 /contrib/libs/poco/Foundation/include/Poco/SingletonHolder.h
parent718c552901d703c502ccbefdfc3c9028d608b947 (diff)
downloadydb-2d37894b1b037cf24231090eda8589bbb44fb6fc.tar.gz
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/poco/Foundation/include/Poco/SingletonHolder.h')
-rw-r--r--contrib/libs/poco/Foundation/include/Poco/SingletonHolder.h154
1 files changed, 77 insertions, 77 deletions
diff --git a/contrib/libs/poco/Foundation/include/Poco/SingletonHolder.h b/contrib/libs/poco/Foundation/include/Poco/SingletonHolder.h
index 828fa07745..8735f114b5 100644
--- a/contrib/libs/poco/Foundation/include/Poco/SingletonHolder.h
+++ b/contrib/libs/poco/Foundation/include/Poco/SingletonHolder.h
@@ -1,77 +1,77 @@
-//
-// SingletonHolder.h
-//
-// Library: Foundation
-// Package: Core
-// Module: SingletonHolder
-//
-// Definition of the SingletonHolder template.
-//
-// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
-// and Contributors.
-//
-// SPDX-License-Identifier: BSL-1.0
-//
-
-
-#ifndef Foundation_SingletonHolder_INCLUDED
-#define Foundation_SingletonHolder_INCLUDED
-
-
-#include "Poco/Foundation.h"
-#include "Poco/Mutex.h"
-
-
-namespace Poco {
-
-
-template <class S>
-class SingletonHolder
- /// This is a helper template class for managing
- /// singleton objects allocated on the heap.
- /// The class ensures proper deletion (including
- /// calling of the destructor) of singleton objects
- /// when the application that created them terminates.
-{
-public:
- SingletonHolder():
- _pS(0)
- /// Creates the SingletonHolder.
- {
- }
-
- ~SingletonHolder()
- /// Destroys the SingletonHolder and the singleton
- /// object that it holds.
- {
- delete _pS;
- }
-
- S* get()
- /// Returns a pointer to the singleton object
- /// hold by the SingletonHolder. The first call
- /// to get will create the singleton.
- {
- FastMutex::ScopedLock lock(_m);
- if (!_pS) _pS = new S;
- return _pS;
- }
-
- void reset()
- /// Deletes the singleton object.
- {
- FastMutex::ScopedLock lock(_m);
- delete _pS;
- _pS = 0;
- }
-
-private:
- S* _pS;
- FastMutex _m;
-};
-
-
-} // namespace Poco
-
-
-#endif // Foundation_SingletonHolder_INCLUDED
+//
+// SingletonHolder.h
+//
+// Library: Foundation
+// Package: Core
+// Module: SingletonHolder
+//
+// Definition of the SingletonHolder template.
+//
+// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
+// and Contributors.
+//
+// SPDX-License-Identifier: BSL-1.0
+//
+
+
+#ifndef Foundation_SingletonHolder_INCLUDED
+#define Foundation_SingletonHolder_INCLUDED
+
+
+#include "Poco/Foundation.h"
+#include "Poco/Mutex.h"
+
+
+namespace Poco {
+
+
+template <class S>
+class SingletonHolder
+ /// This is a helper template class for managing
+ /// singleton objects allocated on the heap.
+ /// The class ensures proper deletion (including
+ /// calling of the destructor) of singleton objects
+ /// when the application that created them terminates.
+{
+public:
+ SingletonHolder():
+ _pS(0)
+ /// Creates the SingletonHolder.
+ {
+ }
+
+ ~SingletonHolder()
+ /// Destroys the SingletonHolder and the singleton
+ /// object that it holds.
+ {
+ delete _pS;
+ }
+
+ S* get()
+ /// Returns a pointer to the singleton object
+ /// hold by the SingletonHolder. The first call
+ /// to get will create the singleton.
+ {
+ FastMutex::ScopedLock lock(_m);
+ if (!_pS) _pS = new S;
+ return _pS;
+ }
+
+ void reset()
+ /// Deletes the singleton object.
+ {
+ FastMutex::ScopedLock lock(_m);
+ delete _pS;
+ _pS = 0;
+ }
+
+private:
+ S* _pS;
+ FastMutex _m;
+};
+
+
+} // namespace Poco
+
+
+#endif // Foundation_SingletonHolder_INCLUDED