Go to the source code of this file.
Classes |
|
| class | Struct |
Defines |
|
| #define | is_structdef(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(StructDef)) |
| #define | is_struct(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == INTERNAL_STRUCT_TAG) |
Functions |
|
| visible_class_debug_ok (StructDef) class StructDef | |
| #define is_structdef | ( | v | ) | ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(StructDef)) |
| #define is_struct | ( | v | ) | ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == INTERNAL_STRUCT_TAG) |
| visible_class_debug_ok | ( | StructDef | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
Definition at line 15 of file structs.h.
: public Value
{
friend StructMemberThunk;
friend Struct;
friend void Function::export_to_scripter();
private:
Value* name; /* struct's global var name */
Value** member_inits; /* member init vals */
int member_count; /* " count */
HashTable* members; /* member name to index table */
HashTable* member_isPublicAccess; /* member name is public? */
HashTable* handlers; /* event handlers */
public:
// note: if members is null, a default hashtable is created in the ctor
// if member_isPublicAccess is null, all members are considered public. If member cannot be found in member_isPublicAccess, member is considered public
ScripterExport StructDef(Value* name, int member_count, Value** inits, HashTable* members, HashTable* member_isPublicAccess, HashTable* handlers);
~StructDef();
classof_methods (StructDef, Value);
# define is_structdef(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(StructDef))
void collect() { delete this; }
void gc_trace();
ScripterExport void sprin1(CharStream* s);
#include "..\macros\define_implementations.h"
def_generic ( get_props, "getPropNames"); // LAM: added 4/27/00
def_generic ( show_props, "showProperties");
ScripterExport Value* apply(Value** arglist, int count, CallContext* cc=NULL);
ScripterExport Value* get_property(Value** arg_list, int count);
ScripterExport Value* set_property(Value** arg_list, int count);
ScripterExport bool IsPropertyPublic(Value* prop);
ScripterExport Value* Name();
ScripterExport void map_members(HashTabMapper* mapper);
ScripterExport void map_members(void (*fn)(const void* key, const void* val, void* arg), void* arg);
ScripterExport Value* get_member_value(Value* key);
ScripterExport Value* put_member_value(Value* key, Value* value);
};