X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..1b7751aaa9a86d76a850b9267bc0c201e3cea30f:/interface/wx/memory.h diff --git a/interface/wx/memory.h b/interface/wx/memory.h index ec1fbed3de..1d5f08afff 100644 --- a/interface/wx/memory.h +++ b/interface/wx/memory.h @@ -1,51 +1,26 @@ ///////////////////////////////////////////////////////////////////////////// // Name: memory.h -// Purpose: interface of wxDebugStreamBuf +// Purpose: interface of wxDebugContext // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -/** - @class wxDebugStreamBuf - @wxheader{memory.h} - - This class allows you to treat debugging output in a similar - (stream-based) fashion on different platforms. Under - Windows, an ostream constructed with this buffer outputs - to the debugger, or other program that intercepts debugging - output. On other platforms, the output goes to standard error (cerr). - - This is soon to be obsolete, replaced by wxLog functionality. - - @library{wxbase} - @category{FIXME} - - @see Overview() -*/ -class wxDebugStreamBuf -{ -public: - -}; - - /** @class wxDebugContext - @wxheader{memory.h} - A class for performing various debugging and memory tracing - operations. Full functionality (such as printing out objects - currently allocated) is only present in a debugging build of wxWidgets, - i.e. if the __WXDEBUG__ symbol is defined. wxDebugContext - and related functions and macros can be compiled out by setting - wxUSE_DEBUG_CONTEXT to 0 is setup.h + A class for performing various debugging and memory tracing operations. + + Full functionality (such as printing out objects currently allocated) is + only present in a debugging build of wxWidgets, i.e. if the __WXDEBUG__ + symbol is defined. wxDebugContext and related functions and macros can be + compiled out by setting wxUSE_DEBUG_CONTEXT to 0 is setup.h @library{wxbase} @category{debugging} - @see Overview() + @see @ref overview_debugging */ class wxDebugContext { @@ -55,10 +30,10 @@ public: checkpoint. @return Returns the number of errors, so a value of zero represents - success. Returns -1 if an error was detected that - prevents further checking. + success. Returns -1 if an error was detected that prevents + further checking. */ - int Check(); + static int Check(bool checkAll = false); /** Performs a memory dump from the currently set checkpoint, writing to the @@ -67,64 +42,43 @@ public: @return @true if the function succeeded, @false otherwise. */ - bool Dump(); + static bool Dump(); /** Returns @true if the memory allocator checks all previous memory blocks for errors. + By default, this is @false since it slows down execution considerably. @see SetCheckPrevious() */ - bool GetCheckPrevious(); + static bool GetCheckPrevious(); /** - Returns @true if debug mode is on. If debug mode is on, the wxObject new and - delete - operators store or use information about memory allocation. Otherwise, - a straight malloc and free will be performed by these operators. + Returns @true if debug mode is on. - @see SetDebugMode() - */ - bool GetDebugMode(); + If debug mode is on, the wxObject new and delete operators store or use + information about memory allocation. Otherwise, a straight malloc and + free will be performed by these operators. - /** - Gets the debug level (default 1). The debug level is used by the wxTraceLevel - function and - the WXTRACELEVEL macro to specify how detailed the trace information is; setting - a different level will only have an effect if trace statements in the - application - specify a value other than one. - This is obsolete, replaced by wxLog functionality. - - @see SetLevel() + @see SetDebugMode() */ - int GetLevel(); + static bool GetDebugMode(); /** - Returns the output stream associated with the debug context. - This is obsolete, replaced by wxLog functionality. - - @see SetStream() - */ - ostream GetStream(); + Gets the debug level (default 1). - /** - Returns a pointer to the output stream buffer associated with the debug context. - There may not necessarily be a stream buffer if the stream has been set - by the user. - This is obsolete, replaced by wxLog functionality. - */ - streambuf* GetStreamBuf(); + The debug level is used by the wxTraceLevel function and the WXTRACELEVEL + macro to specify how detailed the trace information is; setting a + different level will only have an effect if trace statements in the + application specify a value other than one. - /** - Returns @true if there is a stream currently associated - with the debug context. + @deprecated This is obsolete, replaced by wxLog functionality. - @see SetStream(), GetStream() + @see SetLevel() */ - bool HasStream(); + static int GetLevel(); /** Prints a list of the classes declared in this application, giving derivation @@ -132,7 +86,7 @@ public: @see PrintStatistics() */ - bool PrintClasses(); + static bool PrintClasses(); /** Performs a statistics analysis from the currently set checkpoint, writing @@ -140,13 +94,12 @@ public: allocations is printed, together with the total size. @param detailed - If @true, the function will also print how many - objects of each class have been allocated, and the space taken by - these class instances. + If @true, the function will also print how many objects of each class + have been allocated, and the space taken by these class instances. @see PrintStatistics() */ - bool PrintStatistics(bool detailed = true); + static bool PrintStatistics(bool detailed = true); /** Tells the memory allocator to check all previous memory blocks for errors. @@ -154,7 +107,7 @@ public: @see GetCheckPrevious() */ - void SetCheckPrevious(bool check); + static void SetCheckPrevious(bool check); /** Sets the current checkpoint: Dump and PrintStatistics operations will @@ -162,74 +115,50 @@ public: that have been performed up to this point. @param all - If @true, the checkpoint is reset to include all - memory allocations since the program started. + If @true, the checkpoint is reset to include all memory allocations + since the program started. */ - void SetCheckpoint(bool all = false); + static void SetCheckpoint(bool all = false); /** - Sets the debug mode on or off. If debug mode is on, the wxObject new and delete - operators store or use information about memory allocation. Otherwise, - a straight malloc and free will be performed by these operators. + Sets the debug mode on or off. + + If debug mode is on, the wxObject new and delete operators store or use + information about memory allocation. Otherwise, a straight malloc and free + will be performed by these operators. + By default, debug mode is on if __WXDEBUG__ is defined. If the application uses this function, it should make sure that all object memory allocated - is deallocated with the same value of debug mode. Otherwise, the - delete operator might try to look for memory information that does not - exist. + is deallocated with the same value of debug mode. Otherwise, the delete + operator might try to look for memory information that does not exist. @see GetDebugMode() */ - void SetDebugMode(bool debug); + static void SetDebugMode(bool debug); /** - Sets the current debug file and creates a stream. This will delete any existing - stream and stream buffer. By default, the debug context stream - outputs to the debugger (Windows) or standard error (other platforms). - */ - bool SetFile(const wxString& filename); + Sets the debug level (default 1). - /** - Sets the debug level (default 1). The debug level is used by the wxTraceLevel - function and - the WXTRACELEVEL macro to specify how detailed the trace information is; setting + The debug level is used by the wxTraceLevel function and the WXTRACELEVEL + macro to specify how detailed the trace information is; setting a different level will only have an effect if trace statements in the - application - specify a value other than one. + application specify a value other than one. + + @deprecated This is obsolete, replaced by wxLog functionality. @see GetLevel() */ - void SetLevel(int level); + static void SetLevel(int level); /** - Installs a function to be called at the end of wxWidgets shutdown. It will be - called after - all files with global instances of wxDebugContextDumpDelayCounter have run - their destructors. - The shutdown function must be take no parameters and return nothing. - */ - void SetShutdownNotifyFunction(wxShutdownNotifyFunction func); + Installs a function to be called at the end of wxWidgets shutdown. + It will be called after all files with global instances of + wxDebugContextDumpDelayCounter have run their destructors. - /** - Sets the debugging stream to be the debugger (Windows) or standard error (other - platforms). - This is the default setting. The existing stream will be flushed and deleted. - This is obsolete, replaced by wxLog functionality. - */ - bool SetStandardError(); - - /** - Sets the stream and optionally, stream buffer associated with the debug context. - This operation flushes and deletes the existing stream (and stream buffer if - any). - This is obsolete, replaced by wxLog functionality. - - @param stream - Stream to associate with the debug context. Do not set this to @NULL. - @param streamBuf - Stream buffer to associate with the debug context. + The shutdown function must be take no parameters and return nothing. */ - void SetStream(ostream* stream, streambuf* streamBuf = NULL); + static void SetShutdownNotifyFunction(wxShutdownNotifyFunction func); }; @@ -238,7 +167,7 @@ public: // Global functions/macros // ============================================================================ -/** @ingroup group_funcmacro_log */ +/** @addtogroup group_funcmacro_log */ //@{ /**