aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/Foundation/include/Poco/PriorityStrategy.h
diff options
context:
space:
mode:
authororivej <orivej@yandex-team.ru>2022-02-10 16:44:49 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:44:49 +0300
commit718c552901d703c502ccbefdfc3c9028d608b947 (patch)
tree46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/libs/poco/Foundation/include/Poco/PriorityStrategy.h
parente9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff)
downloadydb-718c552901d703c502ccbefdfc3c9028d608b947.tar.gz
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/poco/Foundation/include/Poco/PriorityStrategy.h')
-rw-r--r--contrib/libs/poco/Foundation/include/Poco/PriorityStrategy.h460
1 files changed, 230 insertions, 230 deletions
diff --git a/contrib/libs/poco/Foundation/include/Poco/PriorityStrategy.h b/contrib/libs/poco/Foundation/include/Poco/PriorityStrategy.h
index 65d67a4491..f4eb81a3a0 100644
--- a/contrib/libs/poco/Foundation/include/Poco/PriorityStrategy.h
+++ b/contrib/libs/poco/Foundation/include/Poco/PriorityStrategy.h
@@ -1,230 +1,230 @@
-//
-// PriorityStrategy.h
-//
-// Library: Foundation
-// Package: Events
-// Module: PrioritytStrategy
-//
-// Implementation of the DefaultStrategy template.
-//
-// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
-// and Contributors.
-//
-// SPDX-License-Identifier: BSL-1.0
-//
-
-
-#ifndef Foundation_PriorityStrategy_INCLUDED
-#define Foundation_PriorityStrategy_INCLUDED
-
-
-#include "Poco/NotificationStrategy.h"
-#include "Poco/SharedPtr.h"
-#include <vector>
-
-
-namespace Poco {
-
-
-template <class TArgs, class TDelegate>
-class PriorityStrategy: public NotificationStrategy<TArgs, TDelegate>
- /// NotificationStrategy for PriorityEvent.
- ///
- /// Delegates are kept in a std::vector<>, ordered
- /// by their priority.
-{
-public:
- typedef TDelegate* DelegateHandle;
- typedef SharedPtr<TDelegate> DelegatePtr;
- typedef std::vector<DelegatePtr> Delegates;
- typedef typename Delegates::iterator Iterator;
-
-public:
- PriorityStrategy()
- {
- }
-
- PriorityStrategy(const PriorityStrategy& s):
- _delegates(s._delegates)
- {
- }
-
- ~PriorityStrategy()
- {
- }
-
- void notify(const void* sender, TArgs& arguments)
- {
- for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
- {
- (*it)->notify(sender, arguments);
- }
- }
-
- DelegateHandle add(const TDelegate& delegate)
- {
- for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
- {
- if ((*it)->priority() > delegate.priority())
- {
- DelegatePtr pDelegate(static_cast<TDelegate*>(delegate.clone()));
- _delegates.insert(it, pDelegate);
- return pDelegate.get();
- }
- }
- DelegatePtr pDelegate(static_cast<TDelegate*>(delegate.clone()));
- _delegates.push_back(pDelegate);
- return pDelegate.get();
- }
-
- void remove(const TDelegate& delegate)
- {
- for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
- {
- if (delegate.equals(**it))
- {
- (*it)->disable();
- _delegates.erase(it);
- return;
- }
- }
- }
-
- void remove(DelegateHandle delegateHandle)
- {
- for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
- {
- if (*it == delegateHandle)
- {
- (*it)->disable();
- _delegates.erase(it);
- return;
- }
- }
- }
-
- PriorityStrategy& operator = (const PriorityStrategy& s)
- {
- if (this != &s)
- {
- _delegates = s._delegates;
- }
- return *this;
- }
-
- void clear()
- {
- for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
- {
- (*it)->disable();
- }
- _delegates.clear();
- }
-
- bool empty() const
- {
- return _delegates.empty();
- }
-
-protected:
- Delegates _delegates;
-};
-
-
-template <class TDelegate>
-class PriorityStrategy<void, TDelegate>
- /// NotificationStrategy for PriorityEvent.
- ///
- /// Delegates are kept in a std::vector<>, ordered
- /// by their priority.
-{
-public:
- typedef TDelegate* DelegateHandle;
- typedef SharedPtr<TDelegate> DelegatePtr;
- typedef std::vector<DelegatePtr> Delegates;
- typedef typename Delegates::iterator Iterator;
-
-public:
-
- void notify(const void* sender)
- {
- for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
- {
- (*it)->notify(sender);
- }
- }
-
- DelegateHandle add(const TDelegate& delegate)
- {
- for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
- {
- if ((*it)->priority() > delegate.priority())
- {
- DelegatePtr pDelegate(static_cast<TDelegate*>(delegate.clone()));
- _delegates.insert(it, pDelegate);
- return pDelegate.get();
- }
- }
- DelegatePtr pDelegate(static_cast<TDelegate*>(delegate.clone()));
- _delegates.push_back(pDelegate);
- return pDelegate.get();
- }
-
- void remove(const TDelegate& delegate)
- {
- for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
- {
- if (delegate.equals(**it))
- {
- (*it)->disable();
- _delegates.erase(it);
- return;
- }
- }
- }
-
- void remove(DelegateHandle delegateHandle)
- {
- for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
- {
- if (*it == delegateHandle)
- {
- (*it)->disable();
- _delegates.erase(it);
- return;
- }
- }
- }
-
- PriorityStrategy& operator = (const PriorityStrategy& s)
- {
- if (this != &s)
- {
- _delegates = s._delegates;
- }
- return *this;
- }
-
- void clear()
- {
- for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
- {
- (*it)->disable();
- }
- _delegates.clear();
- }
-
- bool empty() const
- {
- return _delegates.empty();
- }
-
-protected:
- Delegates _delegates;
-};
-
-
-} // namespace Poco
-
-
-#endif // Foundation_PriorityStrategy_INCLUDED
+//
+// PriorityStrategy.h
+//
+// Library: Foundation
+// Package: Events
+// Module: PrioritytStrategy
+//
+// Implementation of the DefaultStrategy template.
+//
+// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
+// and Contributors.
+//
+// SPDX-License-Identifier: BSL-1.0
+//
+
+
+#ifndef Foundation_PriorityStrategy_INCLUDED
+#define Foundation_PriorityStrategy_INCLUDED
+
+
+#include "Poco/NotificationStrategy.h"
+#include "Poco/SharedPtr.h"
+#include <vector>
+
+
+namespace Poco {
+
+
+template <class TArgs, class TDelegate>
+class PriorityStrategy: public NotificationStrategy<TArgs, TDelegate>
+ /// NotificationStrategy for PriorityEvent.
+ ///
+ /// Delegates are kept in a std::vector<>, ordered
+ /// by their priority.
+{
+public:
+ typedef TDelegate* DelegateHandle;
+ typedef SharedPtr<TDelegate> DelegatePtr;
+ typedef std::vector<DelegatePtr> Delegates;
+ typedef typename Delegates::iterator Iterator;
+
+public:
+ PriorityStrategy()
+ {
+ }
+
+ PriorityStrategy(const PriorityStrategy& s):
+ _delegates(s._delegates)
+ {
+ }
+
+ ~PriorityStrategy()
+ {
+ }
+
+ void notify(const void* sender, TArgs& arguments)
+ {
+ for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
+ {
+ (*it)->notify(sender, arguments);
+ }
+ }
+
+ DelegateHandle add(const TDelegate& delegate)
+ {
+ for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
+ {
+ if ((*it)->priority() > delegate.priority())
+ {
+ DelegatePtr pDelegate(static_cast<TDelegate*>(delegate.clone()));
+ _delegates.insert(it, pDelegate);
+ return pDelegate.get();
+ }
+ }
+ DelegatePtr pDelegate(static_cast<TDelegate*>(delegate.clone()));
+ _delegates.push_back(pDelegate);
+ return pDelegate.get();
+ }
+
+ void remove(const TDelegate& delegate)
+ {
+ for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
+ {
+ if (delegate.equals(**it))
+ {
+ (*it)->disable();
+ _delegates.erase(it);
+ return;
+ }
+ }
+ }
+
+ void remove(DelegateHandle delegateHandle)
+ {
+ for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
+ {
+ if (*it == delegateHandle)
+ {
+ (*it)->disable();
+ _delegates.erase(it);
+ return;
+ }
+ }
+ }
+
+ PriorityStrategy& operator = (const PriorityStrategy& s)
+ {
+ if (this != &s)
+ {
+ _delegates = s._delegates;
+ }
+ return *this;
+ }
+
+ void clear()
+ {
+ for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
+ {
+ (*it)->disable();
+ }
+ _delegates.clear();
+ }
+
+ bool empty() const
+ {
+ return _delegates.empty();
+ }
+
+protected:
+ Delegates _delegates;
+};
+
+
+template <class TDelegate>
+class PriorityStrategy<void, TDelegate>
+ /// NotificationStrategy for PriorityEvent.
+ ///
+ /// Delegates are kept in a std::vector<>, ordered
+ /// by their priority.
+{
+public:
+ typedef TDelegate* DelegateHandle;
+ typedef SharedPtr<TDelegate> DelegatePtr;
+ typedef std::vector<DelegatePtr> Delegates;
+ typedef typename Delegates::iterator Iterator;
+
+public:
+
+ void notify(const void* sender)
+ {
+ for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
+ {
+ (*it)->notify(sender);
+ }
+ }
+
+ DelegateHandle add(const TDelegate& delegate)
+ {
+ for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
+ {
+ if ((*it)->priority() > delegate.priority())
+ {
+ DelegatePtr pDelegate(static_cast<TDelegate*>(delegate.clone()));
+ _delegates.insert(it, pDelegate);
+ return pDelegate.get();
+ }
+ }
+ DelegatePtr pDelegate(static_cast<TDelegate*>(delegate.clone()));
+ _delegates.push_back(pDelegate);
+ return pDelegate.get();
+ }
+
+ void remove(const TDelegate& delegate)
+ {
+ for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
+ {
+ if (delegate.equals(**it))
+ {
+ (*it)->disable();
+ _delegates.erase(it);
+ return;
+ }
+ }
+ }
+
+ void remove(DelegateHandle delegateHandle)
+ {
+ for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
+ {
+ if (*it == delegateHandle)
+ {
+ (*it)->disable();
+ _delegates.erase(it);
+ return;
+ }
+ }
+ }
+
+ PriorityStrategy& operator = (const PriorityStrategy& s)
+ {
+ if (this != &s)
+ {
+ _delegates = s._delegates;
+ }
+ return *this;
+ }
+
+ void clear()
+ {
+ for (Iterator it = _delegates.begin(); it != _delegates.end(); ++it)
+ {
+ (*it)->disable();
+ }
+ _delegates.clear();
+ }
+
+ bool empty() const
+ {
+ return _delegates.empty();
+ }
+
+protected:
+ Delegates _delegates;
+};
+
+
+} // namespace Poco
+
+
+#endif // Foundation_PriorityStrategy_INCLUDED