CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

csutil/objiter.h File Reference

More...

#include "csextern.h"
#include "iutil/object.h"

Go to the source code of this file.

Compounds

class  csTypedObjectIterator
 Helper class for CS_DECLARE_OBJECT_ITERATOR macro. More...


Defines

#define CS_DECLARE_OBJECT_ITERATOR(NAME, INTERFACE)
 Defines a typed objectiterator class, descending from csTypedObjectIterator.


Detailed Description

Definition in file objiter.h.


Define Documentation

#define CS_DECLARE_OBJECT_ITERATOR NAME,
INTERFACE   
 

Value:

class NAME : public csTypedObjectIterator                               \
  {                                                                     \
  protected:                                                            \
    virtual void GetRequestedInterface (scfInterfaceID &id,             \
      int &ver) const                                                   \
    { id = scfInterface<INTERFACE>::GetID();                            \
      ver = scfInterface<INTERFACE>::GetVersion(); }                    \
  public:                                                               \
    inline NAME (iObject *Parent) : csTypedObjectIterator (Parent)      \
      { }                                                               \
    inline INTERFACE *Next ()                                           \
      { return (INTERFACE*)(iBase*)csTypedObjectIterator::Next (); }    \
  };
Defines a typed objectiterator class, descending from csTypedObjectIterator.

This macro assumes that the requested interface is already declared as a fast interface.

Definition at line 34 of file objiter.h.


Generated for Crystal Space by doxygen 1.2.18