| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | 
							- ///////////////////////////////////////////////////////////////////////////////
 
- // Name:        interface/wx/windowptr.h
 
- // Purpose:     wxWindowPtr<T> class documentation.
 
- // Author:      Vaclav Slavik
 
- // Created:     2013-09-02
 
- // Copyright:   (c) 2013 Vaclav Slavik <vslavik@fastmail.fm>
 
- // Licence:     wxWindows licence
 
- ///////////////////////////////////////////////////////////////////////////////
 
- /**
 
-     A reference-counted smart pointer for holding wxWindow instances.
 
-     This specialization of wxSharedPtr<T> is useful for holding
 
-     wxWindow-derived objects. Unlike wxSharedPtr<T> or @c std::shared_ptr<>, it
 
-     doesn't use the delete operator to destroy the value when reference count
 
-     drops to zero, but calls wxWindow::Destroy() to safely destroy the window.
 
-     The template parameter T must be wxWindow or a class derived from it.
 
-     @library{wxcore}
 
-     @category{smartpointers}
 
-     @since 3.0
 
-     @see wxSharedPtr<T>
 
- */
 
- template<typename T>
 
- class wxWindowPtr<T> : public wxSharedPtr<T>
 
- {
 
- public:
 
-     /// Default constructor.
 
-     wxWindowPtr();
 
-     /**
 
-         Constructor.
 
-         Creates shared pointer from the raw pointer @a ptr and takes ownership
 
-         of it.
 
-     */
 
-     explicit wxWindowPtr(T* ptr);
 
-     /**
 
-         Constructor.
 
-         Creates shared pointer from the raw pointer @a ptr and deleter @a d
 
-         and takes ownership of it.
 
-         @param ptr  The raw pointer.
 
-         @param d    Deleter - a functor that is called instead of delete to
 
-                     free the @a ptr raw pointer when its reference count drops to
 
-                     zero.
 
-     */
 
-     template<typename Deleter>
 
-     explicit wxWindowPtr(T* ptr, Deleter d);
 
-     /// Copy constructor.
 
-     wxWindowPtr(const wxWindowPtr<T>& tocopy);
 
-     /**
 
-         Assignment operator.
 
-         Releases any previously held pointer and creates a reference to @a ptr.
 
-     */
 
-     wxWindowPtr<T>& operator=(T* ptr);
 
-     /**
 
-         Assignment operator.
 
-         Releases any previously held pointer and creates a reference to the
 
-         same object as @a topcopy.
 
-     */
 
-     wxWindowPtr<T>& operator=(const wxWindowPtr<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);
 
- };
 
 
  |