summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/ScopedIncrement.h
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2011-05-27 15:44:23 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2011-05-27 15:44:23 +0000
commit66765100f4257159622cefe57bed50125a5ad017 (patch)
treea88ee23bb194eb91f0ebb2d9b23ff423e3ea8e37 /cpp/src/qpid/sys/ScopedIncrement.h
parent1aeaa7b16e5ce54f10c901d75c4d40f9f88b9db6 (diff)
parent88b98b2f4152ef59a671fad55a0d08338b6b78ca (diff)
downloadqpid-python-rajith_jms_client.tar.gz
Creating a branch for experimenting with some ideas for JMS client.rajith_jms_client
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/rajith_jms_client@1128369 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/sys/ScopedIncrement.h')
-rw-r--r--cpp/src/qpid/sys/ScopedIncrement.h67
1 files changed, 0 insertions, 67 deletions
diff --git a/cpp/src/qpid/sys/ScopedIncrement.h b/cpp/src/qpid/sys/ScopedIncrement.h
deleted file mode 100644
index 8645ab2484..0000000000
--- a/cpp/src/qpid/sys/ScopedIncrement.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef _posix_ScopedIncrement_h
-#define _posix_ScopedIncrement_h
-
-/*
- *
- * Copyright (c) 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include <boost/noncopyable.hpp>
-#include <boost/function.hpp>
-
-namespace qpid {
-namespace sys {
-
-/**
- * Increment counter in constructor and decrement in destructor.
- * Optionally call a function if the decremented counter value is 0.
- * Note the function must not throw, it is called in the destructor.
- */
-template <class T, class F=boost::function<void()> >
-class ScopedIncrement : boost::noncopyable
-{
- public:
- ScopedIncrement(T& c, F f=0)
- : count(c), callback(f) { ++count; }
- ~ScopedIncrement() { if (--count == 0 && callback) callback(); }
-
- private:
- T& count;
- F callback;
-};
-
-
-/** Decrement counter in constructor and increment in destructor. */
-template <class T>
-class ScopedDecrement : boost::noncopyable
-{
- public:
- ScopedDecrement(T& c) : count(c) { value = --count; }
- ~ScopedDecrement() { ++count; }
-
- /** Return the value after the decrement. */
- operator long() { return value; }
-
- private:
- T& count;
- long value;
-};
-
-
-}}
-
-
-#endif // _posix_ScopedIncrement_h