3ds Max C++ API Reference
local_class.h File Reference
#include "ClassCfg.h"

Macros

#define local_visible_class(_cls)
 
#define local_visible_class_s(_cls, _super)
 
#define local_applyable_class(_cls)
 
#define local_visible_class_instance(_cls, _name)    _cls##Class _cls##_class (_M(_name));
 
#define cat0(_a)   _a
 
#define cat1(_a)   cat0(_a)
 
#define cat2(_a, _b)   cat0(_a)##cat0(_b)
 
#define str0(_c)   #_c
 
#define str1(_c)   str0(_c)
 
#define MS_LOCAL_ROOT_CLASS_TAG   &CONCATENATE(MS_LOCAL_ROOT_CLASS, _class)
 
#define MS_LOCAL_GENERIC_CLASS_TAG   &CONCATENATE(MS_LOCAL_GENERIC_CLASS, _class)
 
#define MS_LOCAL_GENERIC_CLASS_CLASS   CONCATENATE(MS_LOCAL_GENERIC_CLASS, Class)
 
Concatenation Macros

For details on the token pasting operator and joining two strings together in the preprocessor see:

  • ISO/IEC 14882:2003(E) 16.3.3 The ## operator
  • ISO/IEC 9899:1999 (E) 6.10.3.3 The ## operator
#define CONCATENATE_HELPER(x, y)   x##y
 
#define CONCATENATE(x, y)   CONCATENATE_HELPER(x,y)
 Joins two strings together in the preprocessor before the code is compiled. More...
 

Typedefs

typedef Value *(MS_LOCAL_ROOT_CLASS::* local_value_vf) (Value **, int)
 

Macro Definition Documentation

◆ local_visible_class

#define local_visible_class (   _cls)
Value:
class _cls##Class : public ValueMetaClass \
{ \
public: \
_cls##Class(const MCHAR* name) : ValueMetaClass (name) { } \
void collect() { delete this; } \
}; \
extern _cls##Class _cls##_class;
virtual void collect()=0
Definition: value.h:379
#define MCHAR
MBCS/Unicode helper defines std::wofstream doesn't mix well with Unicode.
Definition: strbasic.h:42

◆ local_visible_class_s

#define local_visible_class_s (   _cls,
  _super 
)

◆ local_applyable_class

#define local_applyable_class (   _cls)
Value:
class _cls##Class : public ValueMetaClass \
{ \
public: \
_cls##Class(const MCHAR* name) : ValueMetaClass (name) { } \
void collect() { delete this; } \
Value* apply(Value** arglist, int count, CallContext* cc = NULL); \
}; \
extern _cls##Class _cls##_class;
#define NULL
Definition: autoptr.h:18
Definition: functions.h:56
Definition: value.h:107
virtual ScripterExport Value * apply(Value **arglist, int count, CallContext *cc=NULL)

◆ local_visible_class_instance

#define local_visible_class_instance (   _cls,
  _name 
)     _cls##Class _cls##_class (_M(_name));

◆ cat0

#define cat0 (   _a)    _a

◆ cat1

#define cat1 (   _a)    cat0(_a)

◆ cat2

#define cat2 (   _a,
  _b 
)    cat0(_a)##cat0(_b)

◆ str0

#define str0 (   _c)    #_c

◆ str1

#define str1 (   _c)    str0(_c)

◆ CONCATENATE_HELPER

#define CONCATENATE_HELPER (   x,
 
)    x##y

Helper macro used in concatenating two strings.

◆ CONCATENATE

#define CONCATENATE (   x,
 
)    CONCATENATE_HELPER(x,y)

Joins two strings together in the preprocessor before the code is compiled.

◆ MS_LOCAL_ROOT_CLASS_TAG

#define MS_LOCAL_ROOT_CLASS_TAG   &CONCATENATE(MS_LOCAL_ROOT_CLASS, _class)

◆ MS_LOCAL_GENERIC_CLASS_TAG

#define MS_LOCAL_GENERIC_CLASS_TAG   &CONCATENATE(MS_LOCAL_GENERIC_CLASS, _class)

◆ MS_LOCAL_GENERIC_CLASS_CLASS

#define MS_LOCAL_GENERIC_CLASS_CLASS   CONCATENATE(MS_LOCAL_GENERIC_CLASS, Class)

Typedef Documentation

◆ local_value_vf

typedef Value*(MS_LOCAL_ROOT_CLASS::* local_value_vf) (Value **, int)