]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/ptr_shrd.h
Mention wxGCDC
[wxWidgets.git] / interface / ptr_shrd.h
index d94a8aec2718591f0370f40d5871771285aa2a47..ab24ca063f3395a500fca13863bdafd1da015788 100644 (file)
     @wxheader{ptr_shrd.h}
 
     A smart pointer with non-intrusive reference counting. It is modeled after
-    @c boost::shared_ptr and can be used with STL containers and wxVector<T> -
-    unlike @c std::auto_ptr and wxScopedPtr<T>.
+    @c boost::shared_ptr<> and can be used with STL containers and wxVector<T> -
+    unlike @c std::auto_ptr<> and wxScopedPtr<T>.
 
     @library{wxbase}
     @category{smartpointers}
 
-    @see wxScopedPtr<T>, wxWeakRef<T>, wxObjectDataPtr
+    @see wxScopedPtr<T>, wxWeakRef<T>, wxObjectDataPtr<T>
 */
+
 template<typename T>
 class wxSharedPtr<T>
 {
@@ -28,9 +29,11 @@ public:
         Creates shared pointer from the raw pointer @a ptr and takes ownership
         of it.
     */
-    wxSharedPtr(T* ptr = NULL);
+    wxEXPLICIT wxSharedPtr(T* ptr = NULL);
 
-    /// Copy constructor.
+    /**
+        Copy constructor.
+    */
     wxSharedPtr(const wxSharedPtr<T>& tocopy);
 
     /**
@@ -45,32 +48,44 @@ public:
 
     /**
         Conversion to a boolean expression (in a variant which is not
-        convertable to anything but a boolean expression). If this class
-        contains a valid pointer it will return @e @true, if it contains
-        a @NULL pointer it will return @e @false.
+        convertable to anything but a boolean expression).
+
+        If this class contains a valid pointer it will return @true, if it contains
+        a @NULL pointer it will return @false.
     */
     operator unspecified_bool_type() const;
 
     /**
-        Returns a reference to the object. If the internal pointer is @NULL
-        this method will cause an assert in debug mode.
+        Returns a reference to the object.
+
+        If the internal pointer is @NULL this method will cause an assert in debug mode.
     */
     T operator*() const;
 
     /**
         Returns pointer to its object or @NULL.
     */
-    T* operator-() const;
+    T* operator->() const;
 
     /**
-        Assignment operator. Releases any previously held pointer
-        and creates a reference to @e ptr.
+        Assignment operator.
+
+        Releases any previously held pointer and creates a reference to @a ptr.
     */
-    wxSharedPtr& operator operator=(T* ptr);
+    wxSharedPtr<T>& operator=(T* ptr);
 
     /**
-        Reset pointer to @e ptr. If the reference count of the
-        previously owned pointer was 1 it will be deleted.
+        Assignment operator.
+
+        Releases any previously held pointer and creates a reference to the
+        same object as @a topcopy.
+    */
+    wxSharedPtr<T>& operator=(const wxSharedPtr<T>& tocopy)
+
+    /**
+        Reset pointer to @a ptr.
+
+        If the reference count of the previously owned pointer was 1 it will be deleted.
     */
     void reset(T* ptr = NULL);