CrystalSpace

Public API Reference

cstool/identstrings.h File Reference

Set of helper macros to obtain the names of identifiers. More...

#include "csutil/csstring.h"

Go to the source code of this file.

Classes

class  csIdentStrings
 Helper class that contains a list of identifiers and their names. More...
struct  csIdentStrings::csIdentString

Defines

#define CS_IDENT_STRING(Ident)   {Ident, #Ident},
 Entry in the identifier list.
#define CS_IDENT_STRING_EXPLICIT(Ident, Str)   {Ident, str},
 Entry in the identifier list, but with an explicitly set name.
#define CS_IDENT_STRING_LIST(ListName)   static const csIdentStrings::csIdentString ListName##_strings[] = {
 Begin an identifier list.
#define CS_IDENT_STRING_LIST_END(ListName)
 End an identifier list.


Detailed Description

Set of helper macros to obtain the names of identifiers.

Definition in file identstrings.h.


Define Documentation

#define CS_IDENT_STRING ( Ident   )     {Ident, #Ident},

Entry in the identifier list.

Remarks:
The identifiers *must* be sorted in increasing order.

Definition at line 98 of file identstrings.h.

#define CS_IDENT_STRING_EXPLICIT ( Ident,
Str   )     {Ident, str},

Entry in the identifier list, but with an explicitly set name.

Remarks:
The identifiers *must* be sorted in increasing order.

Definition at line 103 of file identstrings.h.

#define CS_IDENT_STRING_LIST ( ListName   )     static const csIdentStrings::csIdentString ListName##_strings[] = {

Begin an identifier list.

ListName is the identifier of the generated csIdentStrings object.

Example:

From code, use like:
   csPrintf ("%s\n", FooNames.StringForIdent (foo));

Definition at line 92 of file identstrings.h.

#define CS_IDENT_STRING_LIST_END ( ListName   ) 

Value:

{0, 0}                                                          \
  };                                                                    \
  CS_IMPLEMENT_STATIC_VAR(Get##ListName##Scratch, csString, ())         \
  static csIdentStrings ListName (ListName##_strings,                   \
    Get##ListName##Scratch(),                                           \
    (sizeof (ListName##_strings) / sizeof (csIdentStrings::csIdentString)) - 1);
End an identifier list.

Definition at line 107 of file identstrings.h.


Generated for Crystal Space by doxygen 1.4.7