summaryrefslogtreecommitdiff
path: root/ACE/ace/Auto_Ptr.h
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2008-03-04 13:56:48 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2008-03-04 13:56:48 +0000
commitc4078c377d74290ebe4e66da0b4975da91732376 (patch)
tree1816ef391e42a07929304908ac0e21f4c2f6cb7b /ACE/ace/Auto_Ptr.h
parent700d1c1a6be348c6c70a2085e559baeb8f4a62ea (diff)
downloadATCD-c4078c377d74290ebe4e66da0b4975da91732376.tar.gz
swap in externals for ACE and TAO
Diffstat (limited to 'ACE/ace/Auto_Ptr.h')
-rw-r--r--ACE/ace/Auto_Ptr.h242
1 files changed, 0 insertions, 242 deletions
diff --git a/ACE/ace/Auto_Ptr.h b/ACE/ace/Auto_Ptr.h
deleted file mode 100644
index ec955d30b21..00000000000
--- a/ACE/ace/Auto_Ptr.h
+++ /dev/null
@@ -1,242 +0,0 @@
-/* -*- C++ -*- */
-
-//=============================================================================
-/**
- * @file Auto_Ptr.h
- *
- * $Id$
- *
- * @author Doug Schmidt <schmidt@uci.edu>
- * @author Irfan Pyarali <irfan@cs.wustl.edu>
- * @author Jack Reeves <jack@fx.com>
- * @author Dr. Harald M. Mueller <mueller@garwein.hai.siemens.co.at>
- */
-//=============================================================================
-
-#ifndef ACE_AUTO_PTR_H
-#define ACE_AUTO_PTR_H
-#include /**/ "ace/pre.h"
-
-#include /**/ "ace/config-all.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#if defined (_MSC_VER)
-// Suppress warning e.g. "return type for
-// 'ACE_Auto_Array_Pointer<type>::operator ->' is 'type *' (i.e., not a UDT
-// or reference to a UDT. Will produce errors if applied using infix
-// notation)"
-# pragma warning(push)
-# pragma warning(disable: 4284)
-#endif /* _MSC_VER */
-
-
-ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-
-/**
- * @class ACE_Auto_Basic_Ptr
- *
- * @brief Implements the draft C++ standard auto_ptr abstraction.
- * This class allows one to work on non-object (basic) types
- */
-template <typename X>
-class ACE_Auto_Basic_Ptr
-{
-public:
- typedef X element_type;
-
- // = Initialization and termination methods
- explicit ACE_Auto_Basic_Ptr (X * p = 0) : p_ (p) {}
-
- ACE_Auto_Basic_Ptr (ACE_Auto_Basic_Ptr<X> & ap);
- ACE_Auto_Basic_Ptr<X> &operator= (ACE_Auto_Basic_Ptr<X> & rhs);
- ~ACE_Auto_Basic_Ptr (void);
-
- // = Accessor methods.
- X &operator *() const;
- X *get (void) const;
- X *release (void);
- void reset (X * p = 0);
-
- /// Dump the state of an object.
- void dump (void) const;
-
- /// Declare the dynamic allocation hooks.
- ACE_ALLOC_HOOK_DECLARE;
-
-protected:
- X *p_;
-};
-
-ACE_END_VERSIONED_NAMESPACE_DECL
-
-#if !defined (ACE_LACKS_AUTO_PTR) && \
- defined (ACE_HAS_STANDARD_CPP_LIBRARY) && \
- (ACE_HAS_STANDARD_CPP_LIBRARY != 0)
-#include <memory>
-#if defined (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB) && \
- (ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB != 0)
-using std::auto_ptr;
-#endif /* ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB */
-#else /* ACE_HAS_STANDARD_CPP_LIBRARY */
-
-/**
- * @class auto_ptr
- *
- * @brief Implements the draft C++ standard auto_ptr abstraction.
- */
-template <typename X>
-class auto_ptr : public ACE_Auto_Basic_Ptr<X>
-{
-public:
- typedef X element_type;
-
- // = Initialization and termination methods
- explicit auto_ptr (X * p = 0) : ACE_Auto_Basic_Ptr<X> (p) {}
- auto_ptr (auto_ptr<X> & ap) : ACE_Auto_Basic_Ptr<X> (ap.release ()) {}
-
- X *operator-> () const;
-};
-
-#endif /* ACE_HAS_STANDARD_CPP_LIBRARY */
-
-ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-
-/**
- * @brief Implements the draft C++ standard auto_ptr abstraction.
- * This version can be used instead of auto_ptr<T>, and obviates
- * the need for the ACE_AUTO_PTR_RESET macro on platforms like
- * VC6 where the auto_ptr<T> is broken.
- */
-template <typename X>
-class ACE_Auto_Ptr : public ACE_Auto_Basic_Ptr <X>
-{
-public:
- typedef X element_type;
-
- // = Initialization and termination methods
- explicit ACE_Auto_Ptr (X * p = 0) : ACE_Auto_Basic_Ptr<X> (p) {}
-
- X *operator-> () const;
-};
-
-/**
- * @class ACE_Auto_Basic_Array_Ptr
- *
- * @brief Implements an extension to the draft C++ standard auto_ptr
- * abstraction. This class allows one to work on non-object
- * (basic) types that must be treated as an array, e.g.,
- * deallocated via "delete [] foo".
- */
-template<typename X>
-class ACE_Auto_Basic_Array_Ptr
-{
-public:
- typedef X element_type;
-
- // = Initialization and termination methods.
- explicit ACE_Auto_Basic_Array_Ptr (X * p = 0) : p_ (p) {}
-
- ACE_Auto_Basic_Array_Ptr (ACE_Auto_Basic_Array_Ptr<X> & ap);
- ACE_Auto_Basic_Array_Ptr<X> &operator= (ACE_Auto_Basic_Array_Ptr<X> & rhs);
- ~ACE_Auto_Basic_Array_Ptr (void);
-
- // = Accessor methods.
- X & operator* () const;
- X & operator[] (int i) const;
- X * get (void) const;
- X * release (void);
- void reset (X * p = 0);
-
- /// Dump the state of an object.
- void dump (void) const;
-
- /// Declare the dynamic allocation hooks.
- ACE_ALLOC_HOOK_DECLARE;
-
-protected:
- X * p_;
-};
-
-/**
- * @class ACE_Auto_Array_Ptr
- *
- * @brief Implements an extension to the draft C++ standard auto_ptr
- * abstraction.
- */
-template<typename X>
-class ACE_Auto_Array_Ptr : public ACE_Auto_Basic_Array_Ptr<X>
-{
-public:
- typedef X element_type;
-
- // = Initialization and termination methods.
- explicit ACE_Auto_Array_Ptr (X *p = 0)
- : ACE_Auto_Basic_Array_Ptr<X> (p) {}
-
- X *operator-> () const;
-};
-
-
-/**
- * @brief Reset given @c auto_ptr element to new element.
- *
- * Some platforms have an older version of auto_ptr support, which
- * lacks reset, and cannot be disabled easily. Portability to these
- * platforms requires use of this function template. This function
- * template also works for the @c ACE_Auto_{Basic_}Array_Ptr class
- * template, as well.
- */
-template<typename AUTO_PTR_TYPE, typename PTR_TYPE>
-inline void
-ACE_auto_ptr_reset (AUTO_PTR_TYPE & ap,
- PTR_TYPE * p)
-{
-#if defined (ACE_AUTO_PTR_LACKS_RESET)
- // Allow compiler to adjust pointer to potential base class pointer
- // of element type found in auto_ptr.
- typename AUTO_PTR_TYPE::element_type * const tp = p;
- if (tp != ap.get ())
- {
- ap = AUTO_PTR_TYPE (tp);
- }
-#else
- ap.reset (p);
-#endif /* ACE_AUTO_PTR_LACKS_RESET */
-}
-
-ACE_END_VERSIONED_NAMESPACE_DECL
-
-// Some platforms have an older version of auto_ptr
-// support, which lacks reset, and cannot be disabled
-// easily. Portability to these platforms requires
-// use of the following ACE_AUTO_PTR_RESET macro.
-//
-// The TYPE macro parameter is no longer necessary but we leave it
-// around for backward compatibility. This is also the reason why the
-// ACE_auto_ptr_reset function template is not called
-// ACE_AUTO_PTR_RESET.
-# define ACE_AUTO_PTR_RESET(AUTOPTR,NEWPTR,TYPE) \
- ACE_auto_ptr_reset (AUTOPTR, NEWPTR);
-
-#if defined (__ACE_INLINE__)
-#include "ace/Auto_Ptr.inl"
-#endif /* __ACE_INLINE__ */
-
-#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-#include "ace/Auto_Ptr.cpp"
-#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
-
-#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
-#pragma implementation ("Auto_Ptr.cpp")
-#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
-
-#if defined (_MSC_VER)
-// Restore the warning state to what it was before entry.
-# pragma warning(pop)
-#endif /* _MSC_VER */
-
-#include /**/ "ace/post.h"
-#endif /* ACE_AUTO_PTR_H */