/////////////////////////////////////////////////////////////////////////////
// Name: ptr_scpd.h
-// Purpose: documentation for wxScopedPtr class
+// Purpose: interface of wxScopedPtr
// Author: wxWidgets team
// RCS-ID: $Id$
// Licence: wxWindows license
use macros instead.
Since wxWidgets 2.9.0 there is also a templated version of this class
- with the same name. See wxScopedPtrT.
+ with the same name. See wxScopedPtrT().
A smart pointer holds a pointer to an object. The memory used by the object is
deleted when the smart pointer goes out of scope. This class is different from
@library{wxbase}
@category{FIXME}
- @seealso
- wxScopedArray
+ @see wxScopedArray
*/
class wxScopedPtr
{
Creates the smart pointer with the given pointer or none if @NULL. On
compilers that support it, this uses the explicit keyword.
*/
- explicit wxScopedPtr(type T = @NULL);
+ explicit wxScopedPtr(type T = NULL);
/**
Destructor frees the pointer help by this object if it is not @NULL.
@NULL. After a call to this function the caller is responsible for
deleting the pointer.
*/
- T * release();
+ T* release();
/**
- Deletes the currently held pointer and sets it to @e p or to @NULL if no
+ Deletes the currently held pointer and sets it to @a p or to @NULL if no
arguments are specified. This function does check to make sure that the
pointer you are assigning is not the same pointer that is already stored.
*/
- reset(T p = @NULL);
+ reset(T p = NULL);
/**
Swap the pointer inside the smart pointer with @e other. The pointer being
};
+
/**
@class wxScopedArray
@wxheader{ptr_scpd.h}
@library{wxbase}
@category{FIXME}
- @seealso
- wxScopedPtr
+ @see wxScopedPtr
*/
class wxScopedArray
{
Creates the smart pointer with the given pointer or none if @NULL. On
compilers that support it, this uses the explicit keyword.
*/
- wxScopedArray(type T = @NULL);
+ wxScopedArray(type T = NULL);
/**
This operator gets the pointer stored in the smart pointer or returns @NULL if
arguments are specified. This function does check to make sure that the
pointer you are assigning is not the same pointer that is already stored.
*/
- reset(T p = @NULL);
+ reset(T p = NULL);
/**
Swap the pointer inside the smart pointer with 'ot'. The pointer being swapped
};
+
/**
@class wxScopedTiedPtr
@wxheader{ptr_scpd.h}
{
public:
/**
- Constructor creates a smart pointer initialized with @e ptr and stores
- @e ptr in the location specified by @e ppTie which must not be
+ Constructor creates a smart pointer initialized with @a ptr and stores
+ @a ptr in the location specified by @a ppTie which must not be
@NULL.
*/
- wxScopedTiedPtr(T ** ppTie, T * ptr);
+ wxScopedTiedPtr(T** ppTie, T* ptr);
/**
Destructor frees the pointer help by this object and restores the value stored
at the tied location (as specified in the @ref ctor() constructor)
to the old value.
-
Warning: this location may now contain an uninitialized value if it hadn't been
initialized previously, in particular don't count on it magically being
@NULL!
};
+
/**
@class wxScopedPtrT
@wxheader{ptr_scpd.h}
@library{wxbase}
@category{FIXME}
- @seealso
- wxSharedPtr, wxWeakRef
+ @see wxSharedPtr, wxWeakRef
*/
class wxScopedPtr<T>
{
/**
Constructor.
*/
- wxScopedPtrT(T * ptr = @NULL);
+ wxScopedPtrT(T* ptr = NULL);
/**
Destructor.
/**
Returns pointer to object or @NULL.
*/
- T * get();
+ T* get() const;
/**
Conversion to a boolean expression (in a variant which is not
contains a valid pointer it will return @e @true, if it contains
a @NULL pointer it will return @e @false.
*/
- operator unspecified_bool_type();
+ 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.
*/
- T operator*();
+ T operator*() const;
/**
Returns pointer to object. If the pointer is @NULL this method will
cause an assert in debug mode.
*/
- T * operator-();
+ T* operator-() const;
/**
Releases the current pointer and returns it.
Reset pointer to the value of @e ptr. The
previous pointer will be deleted.
*/
- void reset(T * ptr = @NULL);
+ void reset(T* ptr = NULL);
/**
Swaps pointers.
*/
- void swap(wxScopedPtr<T> & ot);
+ void swap(wxScopedPtr<T>& ot);
};
+