CrystalSpace

Public API Reference

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

objiter.h File Reference

More...

#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. More...


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 = INTERFACE##_scfGetID (); ver = INTERFACE##_VERSION; }        \
  public:                                                               \
    inline NAME (iObject *Parent) : csTypedObjectIterator (Parent)      \
      { FetchObject (); }                                               \
    inline INTERFACE *Get ()                                            \
      { return (INTERFACE*)(iBase*)CurrentTypedObject; }                \
  };
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 33 of file objiter.h.


Generated for Crystal Space by doxygen 1.2.14