OpendTect  6.3
Classes | Macros
enums.h File Reference
Include dependency graph for enums.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  EnumDef
 Holds data pertinent to a certain enum. It does not know the enum values themselves, but treat them as integers. More...
 
class  EnumDefImpl< ENUM >
 

Macros

#define mDeclareEnumUtils(enm)
 Some utilities surrounding the often needed enum <-> string table. More...
 
#define mDeclareNameSpaceEnumUtils(mod, enm)
 
#define DeclareEnumUtils(enm)   mDeclareEnumUtils(enm)
 
#define DeclareNameSpaceEnumUtils(mod, enm)   mDeclareNameSpaceEnumUtils(mod,enm)
 
#define _mDefineEnumUtils(prefix, enm, createfunc, prettynm)
 
#define mDefineEnumUtils(clss, enm, prettynm)
 
#define mDefineNameSpaceEnumUtils(nmspc, enm, prettynm)
 
#define DefineEnumNames(clss, enm, deflen, prettynm)   mDefineEnumUtils(clss,enm,prettynm)
 
#define DefineNameSpaceEnumNames(nmspc, enm, deflen, prettynm)   mDefineNameSpaceEnumUtils(nmspc,enm,prettynm)
 
#define mEnumTr(str)   tr(str)
 

Macro Definition Documentation

#define _mDefineEnumUtils (   prefix,
  enm,
  createfunc,
  prettynm 
)
Value:
const EnumDefImpl<prefix::enm>& prefix::enm##Def() \
{ return *enm##Definition_.createIfNull( createfunc ); } \
bool prefix::parseEnum##enm(const char* txt, prefix::enm& res ) \
{ \
const bool isok = prefix::enm##Def().parse( txt, res ); \
if ( !isok ) res = (prefix::enm) 0; \
return isok; \
} \
bool prefix::parseEnum(const char* txt, prefix::enm& res ) \
{ return prefix::enm##Def().parse( txt, res ); } \
bool prefix::parseEnum( const IOPar& par, const char* key, prefix::enm& res ) \
{ return prefix::enm##Def().parse( par, key, res ); } \
prefix::enm prefix::parseEnum##enm(const char* txt) \
{ return prefix::enm##Def().parse( txt ); } \
const char* prefix::get##enm##String( prefix::enm theenum ) \
{ return prefix::toString( theenum ); } \
const char* prefix::toString( prefix::enm theenum ) \
{ return enm##Def().getKey( theenum ); } \
uiString prefix::toUiString( prefix::enm theenum ) \
{ return enm##Def().toUiString( theenum ); } \
Definition: enums.h:83
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
uiString toUiString(const DBKey &ky)
Definition: dbkey.h:117
BufferString toString(const DBKey &ky)
Definition: dbkey.h:115
Export_Basic bool parseEnum(const IOPar &, const char *, ViewStyle &)
#define DeclareEnumUtils (   enm)    mDeclareEnumUtils(enm)
#define DeclareNameSpaceEnumUtils (   mod,
  enm 
)    mDeclareNameSpaceEnumUtils(mod,enm)
#define DefineEnumNames (   clss,
  enm,
  deflen,
  prettynm 
)    mDefineEnumUtils(clss,enm,prettynm)
#define DefineNameSpaceEnumNames (   nmspc,
  enm,
  deflen,
  prettynm 
)    mDefineNameSpaceEnumUtils(nmspc,enm,prettynm)
#define mDeclareNameSpaceEnumUtils (   mod,
  enm 
)
Value:
mExtern(mod) const EnumDefImpl<enm>& enm##Def(); \
mExtern(mod) mDeprecated const char** enm##Names();\
mExtern(mod) mDeprecated bool parseEnum(const IOPar&,const char*,enm&); \
mExtern(mod) mDeprecated bool parseEnum(const char*,enm&); \
mExtern(mod) mDeprecated bool parseEnum##enm(const char*,enm&); /*legacy */\
mExtern(mod) mDeprecated enm parseEnum##enm(const char*); \
mExtern(mod) const char* toString(enm); \
mExtern(mod) uiString toUiString(enm); \
mExtern(mod) mDeprecated const char* get##enm##String(enm); /*legacy */
#define mExtern(module)
Definition: commondefs.h:163
Definition: enums.h:83
#define mDefineEnumUtils (   clss,
  enm,
  prettynm 
)
Value:
EnumDefImpl<clss::enm>* clss::enm##CreateDef() \
{ return new EnumDefImpl<clss::enm>( prettynm, clss::enm##Keys_ ); } \
const char** clss::enm##Names() { return clss::enm##Keys_ ; } \
ConstPtrMan<EnumDefImpl<clss::enm> > clss::enm##Definition_ = 0; \
_mDefineEnumUtils( clss, enm, clss::enm##CreateDef, prettynm ); \
const char* clss::enm##Keys_[] =
#define _mDefineEnumUtils(prefix, enm, createfunc, prettynm)
Definition: enums.h:221
Definition: enums.h:83
#define mDefineNameSpaceEnumUtils (   nmspc,
  enm,
  prettynm 
)
Value:
extern const char* nmspc##enm##Keys_[]; \
static EnumDefImpl<nmspc::enm>* nmspc##enm##CreateDef() \
{ return new EnumDefImpl<nmspc::enm>( prettynm, nmspc##enm##Keys_ ); } \
const char** nmspc::enm##Names() { return nmspc##enm##Keys_; } \
static ConstPtrMan<EnumDefImpl<nmspc::enm> > enm##Definition_ = 0; \
_mDefineEnumUtils( nmspc, enm, nmspc##enm##CreateDef, prettynm );\
const char* nmspc##enm##Keys_[] =
#define _mDefineEnumUtils(prefix, enm, createfunc, prettynm)
Definition: enums.h:221
Definition: enums.h:83
Definition: ptrman.h:135
#define mEnumTr (   str)    tr(str)

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017