aboutsummaryrefslogtreecommitdiff
path: root/externals/ace/Intrusive_Auto_Ptr.h
diff options
context:
space:
mode:
Diffstat (limited to 'externals/ace/Intrusive_Auto_Ptr.h')
-rw-r--r--externals/ace/Intrusive_Auto_Ptr.h165
1 files changed, 0 insertions, 165 deletions
diff --git a/externals/ace/Intrusive_Auto_Ptr.h b/externals/ace/Intrusive_Auto_Ptr.h
deleted file mode 100644
index 9c6ad348236..00000000000
--- a/externals/ace/Intrusive_Auto_Ptr.h
+++ /dev/null
@@ -1,165 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file Intrusive_Auto_Ptr.h
- *
- * $Id: Intrusive_Auto_Ptr.h 81388 2008-04-23 14:02:05Z johnnyw $
- *
- * @author Iliyan Jeliazkov <iliyan@ociweb.com>
- *
- * @note Modeled on http://www.boost.org/boost/intrusive_ptr.hpp
- */
-//=============================================================================
-
-#ifndef ACE_INTRUSIVE_AUTO_PTR_H
-#define ACE_INTRUSIVE_AUTO_PTR_H
-
-#include /**/ "ace/pre.h"
-
-#include "ace/Auto_Ptr.h"
-#include "ace/Atomic_Op.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-
-// Forward decl.
-template <class X> class ACE_Intrusive_Auto_Ptr;
-
-/**
- * @class ACE_Intrusive_Auto_Ptr
- *
- * @brief This class implements support for a reference counted
- * auto_ptr. It assumes reference counting abilities of the
- * parameterizing class.
- *
- * Assigning or copying instances of an ACE_Intrusive_Auto_Ptr will
- * automatically increment the reference count. When the last instance
- * that references a ACE_Intrusive_Auto_Ptr instance is destroyed or
- * overwritten, it will invoke delete on its underlying pointer.
- *
- * The ACE_Intrusive_Auto_Ptr works by maintaining a reference to a
- * separate representation object, ACE_Intrusive_Auto_Ptr_Rep. That
- * separate representation object contains the reference count and the
- * actual pointer value.
- */
-template <class X>
-class ACE_Intrusive_Auto_Ptr
-{
-protected:
-
- /// Used to define a proper boolean conversion for "if (sp) ..."
- static void unspecified_bool(ACE_Intrusive_Auto_Ptr<X>***){};
- typedef void (*unspecified_bool_type)(ACE_Intrusive_Auto_Ptr<X>***);
-
-public:
-
- /// Enables "if (sp) ..."
- operator unspecified_bool_type() const
- {
- return rep_ == 0 ? 0: unspecified_bool;
- }
-
-
- // = Initialization and termination methods.
-
- /// Constructor that initializes an ACE_Intrusive_Auto_Ptr to
- /// the specified pointer value.
- ACE_Intrusive_Auto_Ptr (X *p = 0, bool addref = true);
-
- /// Copy constructor binds the new ACE_Intrusive_Auto_Ptr to the
- /// representation object referenced by @a r.
- /// An ACE_Intrusive_Auto_Ptr_Rep is created if necessary.
- ACE_Intrusive_Auto_Ptr (const ACE_Intrusive_Auto_Ptr<X> &r);
-
- // Derived class copy ctor
- template<class U> ACE_Intrusive_Auto_Ptr(const ACE_Intrusive_Auto_Ptr<U> & rhs);
-
- /// Destructor. Releases the reference to the underlying representation.
- /// If the release of that reference causes its reference count to reach 0,
- /// the representation object will also be destroyed.
- virtual ~ACE_Intrusive_Auto_Ptr (void);
-
- /// Assignment operator that binds the current object and @a r to the same
- /// ACE_Intrusive_Auto_Ptr_Rep. An ACE_Intrusive_Auto_Ptr_Rep
- /// is created if necessary.
- void operator = (const ACE_Intrusive_Auto_Ptr<X> &r);
-
- /// Redirection operator
- X *operator-> (void) const;
-
- /// Accessor method.
- X &operator *() const;
-
- /// Releases the reference to the underlying representation object.
- /// @retval The pointer value prior to releasing it.
- X *release (void);
-
- /// Releases the current pointer value and then sets a new
- /// pointer value specified by @a p.
- void reset (X *p = 0);
-
- /// Get the pointer value.
- X *get (void) const;
-
- /// Get the reference count value.
- long count (void) const;
-
- /// Returns @c true if this object does not contain a valid pointer.
- // bool null (void) const;
-
- /// Declare the dynamic allocation hooks.
- ACE_ALLOC_HOOK_DECLARE;
-
-protected:
-
- /// Protect operations on the ACE_Intrusive_Auto_Ptr.
- X *rep_;
-};
-
- /// Equality operator that returns @c true if both
- /// ACE_Intrusive_Auto_Ptr objects point to the same underlying
- /// representation. It does not compare the actual pointers.
- /**
- * @note It also returns @c true if both objects have just been
- * instantiated and not used yet.
- */
-template<class T, class U>
-bool operator==(ACE_Intrusive_Auto_Ptr<T> const & a, ACE_Intrusive_Auto_Ptr<U> const & b);
-
-/// Inequality operator, which is the opposite of equality.
-template<class T, class U>
-bool operator!=(ACE_Intrusive_Auto_Ptr<T> const & a, ACE_Intrusive_Auto_Ptr<U> const & b);
-
-template<class T, class U>
-bool operator==(ACE_Intrusive_Auto_Ptr<T> const & a, U * b);
-
-template<class T, class U>
-bool operator!=(ACE_Intrusive_Auto_Ptr<T> & a, U * b);
-
-template<class T, class U>
-bool operator==(T * a, ACE_Intrusive_Auto_Ptr<U> const & b);
-
-template<class T, class U>
-bool operator!=(T * a, ACE_Intrusive_Auto_Ptr<U> const & b);
-
-ACE_END_VERSIONED_NAMESPACE_DECL
-
-#if defined (__ACE_INLINE__)
-#include "ace/Intrusive_Auto_Ptr.inl"
-#endif /* __ACE_INLINE __ */
-
-#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-#include "ace/Intrusive_Auto_Ptr.cpp"
-#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
-
-#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
-#pragma implementation ("Intrusive_Auto_Ptr.cpp")
-#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
-
-#include /**/ "ace/post.h"
-
-#endif /* ACE_INTRUSIVE_AUTO_PTR_H */