3.1 Alphabetical Listing of Macros

To find additional discussion and examples for a macro, see the table above, using the category specified in the macro description below. Macros documented in this section, in addition to the locations shown in the table, are indicated by the phrase “Details follow.”

AND_CATCH

Designates a block of code for catching the second or subsequent exception from the preceding TRY block.

For additional information, see the Exceptions category in the table.

ASSERT

Prints a message and aborts the application if the specified expression evaluates to FALSE in the Debug version of the library.

For additional information, see the Diagnostics category in the table.

ASSERT_VALID

Tests the internal validity of an object by calling its AssertValid member function, typically overridden from CObject.

For additional information, see the Diagnostics category in the table.

BEGIN_MESSAGE_MAP

Sets up the message map for a window class.

For additional information, see the Message Map category in the table.

CATCH

Designates a block of code for catching the first exception from the preceding TRY block.

For additional information, see the Exceptions category in the table.

DEBUG_NEW

Helps find memory leaks by providing a filename and line number for all object allocations in Debug mode. Details follow.

For additional information, see the Diagnostics category in the table.

DECLARE_DYNAMIC

Prepares a class so that you can determine its name, the name of its base class, and other information at run time. Details follow.

For additional information, see the Run-Time Information category in the table.

DECLARE_MESSAGE_MAP

Associates a message map with a window class declaration.

For additional information, see the Message Map category in the table.

DECLARE_SERIAL

Prepares a class to serialize its data to and from persistent storage. Details follow.

For additional information, see the Serialization category in the table.

END_CATCH

Ends the last CATCH or AND_CATCH block in an exception frame.

For additional information, see the Exceptions category in the table.

END_MESSAGE_MAP

Completes a message-map definition for a window class.

For additional information, see the Message Map category in the table.

IMPLEMENT_DYNAMIC

Enables a class so that you can determine its run-time information. Details follow.

For additional information, see the Run-Time Information category in the table.

IMPLEMENT_SERIAL

Enables the ability of a class to serialize its data to and from persistent storage. Details follow.

For additional information, see the Serialization category in the table.

RUNTIME_CLASS

Returns a CRuntimeClass object from which you can extract run-time information about a specified class. Details follow.

For additional information, see the Run-Time Information category in the table.

THROW

Throws a specified exception.

For additional information, see the Exceptions category in the table.

THROW_LAST

Invokes the exception handler in the next outer frame.

For additional information, see the Exceptions category in the table.

TRACE

Provides a printf-like capability in the Debug version of the library.

For additional information, see the Diagnostics category in the table.

TRY

Designates a block of code for exception processing.

For additional information, see the Exceptions category in the table.

VERIFY

Similar to ASSERT but evaluates the expression in the Release version of the library as well as in the Debug version.

For additional information, see the Diagnostics category in the table.