summaryrefslogtreecommitdiff
path: root/ACE/apps/soreduce/Signature.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/apps/soreduce/Signature.cpp')
-rw-r--r--ACE/apps/soreduce/Signature.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/ACE/apps/soreduce/Signature.cpp b/ACE/apps/soreduce/Signature.cpp
new file mode 100644
index 00000000000..89f9d413218
--- /dev/null
+++ b/ACE/apps/soreduce/Signature.cpp
@@ -0,0 +1,43 @@
+// $Id$
+
+#include "Signature.h"
+
+Signature::Signature (const ACE_CString &name)
+ :name_(name),
+ ref_count_ (1),
+ used_ (0)
+{
+}
+
+void
+Signature::used ()
+{
+ used_++;
+}
+
+int
+Signature::used_count() const
+{
+ return used_;
+}
+
+const ACE_CString &
+Signature::name() const
+{
+ return name_;
+}
+
+Signature *
+Signature::dup()
+{
+ ref_count_++;
+ return this;
+}
+
+void
+Signature::release()
+{
+ if (--ref_count_ == 0)
+ delete this;
+}
+