Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/****************************************************************************/ /** Microsoft OS/2 LAN Manager **/ /** Copyright(c) Microsoft Corp., 1990 **/ /****************************************************************************/
/****************************************************************************\
iter.hxx LM 3.0 abstract iterator class
This file contains the definition for the abstract iterator class that other iterators should inherit from and emulate.
FILE HISTORY:
johnl 27-Jun-1990 Created
\****************************************************************************/
/****************************************************************************\
* *NAME: ITER * *WORKBOOK: ITER * *SYNOPSIS: Abstract iterator class * *INTERFACE: ITER_OF(type) - Defines an abstract iterator of type (generally * used by child classes). * * DECLARE_ITER_OF(type) - Produces declaration for an iterator * of type "type". * * virtual void Reset( ) - Puts iterator in the "initial" * state (i.e., as if it had just * been declared). * * virtual type* Next( ) - Returns "next" item in collection, * returns NULL if the coll. is empty * or we have iterated past last item. * * virtual type* operator()() - Synonym for Next() * *PARENT: * *USES: NONE * *CAVEATS: NONE * * * *HISTORY: * Johnl 27-Jun-1990 * * \****************************************************************************/
#ifndef _ITER_HXX_
#define _ITER_HXX_
#define ITER_OF(type) iter_of_##type
#define DECL_ITER_OF(type,dec) \
class dec ITER_OF(type) \ { \ public: \ virtual void Reset( void ) = 0 ; \ virtual type* Next( void ) = 0 ; \ \ }; \
#define DECLARE_ITER_OF(type) \
DECL_ITER_OF(type,DLL_TEMPLATE)
#endif //_ITER_HXX_
|