#include "..\ScripterExport.h"#include "..\kernel\value.h"#include "collection.h"#include "..\..\bitarray.h"#include "..\macros\define_implementations.h"#include "..\protocols\arrays.inl"Go to the source code of this file.
Defines |
|
| #define | is_array(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Array)) |
| #define | is_BitArrayValue(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(BitArrayValue)) |
| #define | is_bitarray(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(BitArrayValue)) |
Functions |
|
| visible_class_debug_ok (Array) class Array | |
| visible_class_debug_ok (BitArrayValue) class BitArrayValue | |
| #define is_array | ( | v | ) | ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Array)) |
| #define is_BitArrayValue | ( | v | ) | ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(BitArrayValue)) |
| #define is_bitarray | ( | v | ) | ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(BitArrayValue)) |
| visible_class_debug_ok | ( | Array | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
Definition at line 17 of file arrays.h.
: public Value, public Collection
{
static bool performDeepCopy;
public:
int volatile size; // array size
int data_size; // allocated array buffer size (in Value*'s)
Value** volatile data; // the array elements (uninitialized are set to undefined)
ScripterExport static bool ArrayPerformDeepCopy(bool type);
ScripterExport static CRITICAL_SECTION array_update; // for syncing array updates
ScripterExport Array(int init_size);
ScripterExport ~Array();
classof_methods (Array, Value);
static Value* make(Value** arg_list, int count);
static void setup();
Value*& operator[](const int i) const { return data[i]; } // access ith array entry.
# define is_array(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Array))
BOOL _is_collection() { DbgAssert(!is_sourcepositionwrapper(this)); return 1; }
BOOL _is_selection() { DbgAssert(!is_sourcepositionwrapper(this)); return 1; }
void gc_trace();
void collect() { delete this; }
ScripterExport void sprin1(CharStream* s);
// operations
#include "..\macros\define_implementations.h"
# include "..\protocols\arrays.inl"
use_generic( plus, "+" );
use_generic( copy, "copy" );
use_generic( coerce, "coerce");
use_generic( free, "free");
ScripterExport Value* map(node_map& m);
ScripterExport Value* map_path(PathName* path, node_map& m);
ScripterExport Value* find_first(BOOL (*test_fn)(INode* node, int level, void* arg), void* test_arg);
ScripterExport Value* get_path(PathName* path);
// built-in property accessors
def_property ( count );
ScripterExport Value* append(Value*);
ScripterExport Value* join(Value*);
ScripterExport Value* sort();
ScripterExport Value* push(Value*);
ScripterExport Value* drop();
ScripterExport Value* get(int index);
ScripterExport BOOL deep_eq(Value* other);
ScripterExport Value* deep_copy();
// get selection iterator for an array
SelectionIterator* selection_iterator();
// scene I/O
IOResult Save(ISave* isave);
static Value* Load(ILoad* iload, USHORT chunkID, ValueLoader* vload);
void to_fpvalue(FPValue& v);
};
| visible_class_debug_ok | ( | BitArrayValue | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
Definition at line 85 of file arrays.h.
: public Value
{
public:
BitArray bits; // the bits
ScripterExport BitArrayValue();
ScripterExport BitArrayValue(BitArray& b);
ScripterExport BitArrayValue(int count);
classof_methods (BitArrayValue, Value);
static Value* make(Value** arg_list, int count);
# define is_BitArrayValue(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(BitArrayValue))
// BOOL _is_collection() { return 1; }
BOOL _is_selection() { DbgAssert(!is_sourcepositionwrapper(this)); return 1; }
void collect() { delete this; }
void sprin1(CharStream* s);
ScripterExport void can_hold(int index); // resize if need to hold specified index
// operations
#include "..\macros\define_implementations.h"
# include "..\protocols\arrays.inl"
use_generic( plus, "+" );
use_generic( minus, "-" );
def_generic( uminus, "u-");
use_generic( times, "*" );
use_generic( copy, "copy" );
use_generic( coerce, "coerce");
use_generic( free, "free");
ScripterExport Value* map(node_map& m);
// built-in property accessors
def_property ( count );
def_property ( numberSet );
def_property ( isEmpty );
SelectionIterator* selection_iterator();
BitArray& to_bitarray() { return bits; }
void to_fpvalue(FPValue& v) { v.bits = &bits; v.type = TYPE_BITARRAY; }
# define is_bitarray(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(BitArrayValue))
};