The base class for Array that implements almost all of its functionality.
More...
#include <sqratArray.h>
|
| ArrayBase (HSQUIRRELVM v=DefaultVM::Get()) |
|
| ArrayBase (const Object &obj) |
|
| ArrayBase (HSQOBJECT o, HSQUIRRELVM v=DefaultVM::Get()) |
|
void | Bind (const SQInteger index, Object &obj) |
|
ArrayBase & | SquirrelFunc (const SQInteger index, SQFUNCTION func) |
|
template<class V > |
ArrayBase & | SetValue (const SQInteger index, const V &val) |
|
template<class V > |
ArrayBase & | SetInstance (const SQInteger index, V *val) |
|
template<class F > |
ArrayBase & | Func (const SQInteger index, F method) |
|
template<typename T > |
SharedPtr< T > | GetValue (int index) |
|
Function | GetFunction (const SQInteger index) |
|
template<typename T > |
void | GetArray (T *array, int size) |
|
template<class V > |
ArrayBase & | Append (const V &val) |
|
template<class V > |
ArrayBase & | Append (V *val) |
|
template<class V > |
ArrayBase & | Insert (const SQInteger destpos, const V &val) |
|
template<class V > |
ArrayBase & | Insert (const SQInteger destpos, V *val) |
|
Object | Pop () |
|
ArrayBase & | Remove (const SQInteger itemidx) |
|
ArrayBase & | Resize (const SQInteger newsize) |
|
ArrayBase & | Reverse () |
|
SQInteger | Length () const |
|
| Object () |
|
| Object (const Object &so) |
|
| Object (HSQOBJECT o, HSQUIRRELVM v=DefaultVM::Get()) |
|
template<class T > |
| Object (T *instance, HSQUIRRELVM v=DefaultVM::Get()) |
|
virtual | ~Object () |
|
Object & | operator= (const Object &so) |
|
HSQUIRRELVM & | GetVM () |
|
HSQUIRRELVM | GetVM () const |
|
SQObjectType | GetType () const |
|
bool | IsNull () const |
|
virtual HSQOBJECT | GetObject () const |
|
virtual HSQOBJECT & | GetObject () |
|
| operator HSQOBJECT & () |
|
void | Release () |
|
Object | GetSlot (const SQChar *slot) const |
|
Object | GetSlot (SQInteger index) const |
|
template<class T > |
T | Cast () const |
|
template<class T > |
Object | operator[] (T slot) |
|
SQInteger | GetSize () const |
|
bool | Next (iterator &iter) const |
|
The base class for Array that implements almost all of its functionality.
Default constructor (null)
- Parameters
-
v | VM that the array will exist in |
Sqrat::ArrayBase::ArrayBase |
( |
const Object & |
obj | ) |
|
|
inline |
Construct the ArrayBase from an Object that already exists
- Parameters
-
obj | An Object that should already represent a Squirrel array |
Sqrat::ArrayBase::ArrayBase |
( |
HSQOBJECT |
o, |
|
|
HSQUIRRELVM |
v = DefaultVM::Get() |
|
) |
| |
|
inline |
Construct the ArrayBase from a HSQOBJECT and HSQUIRRELVM that already exist
- Parameters
-
o | Squirrel object that should already represent a Squirrel array |
v | Squirrel VM that contains the Squirrel object given |
template<class V >
ArrayBase& Sqrat::ArrayBase::Append |
( |
const V & |
val | ) |
|
|
inline |
Appends a value to the end of the Array
- Parameters
-
val | Value that is being placed in the Array |
- Template Parameters
-
V | Type of value (usually doesnt need to be defined explicitly) |
- Returns
- The Array itself so the call can be chained
template<class V >
ArrayBase& Sqrat::ArrayBase::Append |
( |
V * |
val | ) |
|
|
inline |
Appends an instance to the end of the Array (like a reference)
- Parameters
-
val | Pointer to the instance that is being placed in the Array |
- Template Parameters
-
V | Type of instance (usually doesnt need to be defined explicitly) |
- Returns
- The Array itself so the call can be chained
void Sqrat::ArrayBase::Bind |
( |
const SQInteger |
index, |
|
|
Object & |
obj |
|
) |
| |
|
inline |
Binds a Table or Class to the Array (can be used to facilitate namespaces)
- Parameters
-
template<class F >
ArrayBase& Sqrat::ArrayBase::Func |
( |
const SQInteger |
index, |
|
|
F |
method |
|
) |
| |
|
inline |
Sets an index in the Array to a specific function
- Parameters
-
index | The index in the array being assigned a value |
method | Function that is being placed in the Array |
- Template Parameters
-
F | Type of function (only define this if you need to choose a certain template specialization or overload) |
- Returns
- The Array itself so the call can be chained
template<typename T >
void Sqrat::ArrayBase::GetArray |
( |
T * |
array, |
|
|
int |
size |
|
) |
| |
|
inline |
Fills a C array with the elements of the Array
- Parameters
-
array | C array to be filled |
size | The amount of elements to fill the C array with |
- Template Parameters
-
T | Type of elements (fails if any elements in Array are not of this type) |
Function Sqrat::ArrayBase::GetFunction |
( |
const SQInteger |
index | ) |
|
|
inline |
template<typename T >
SharedPtr<T> Sqrat::ArrayBase::GetValue |
( |
int |
index | ) |
|
|
inline |
Returns the element at a given index
- Parameters
-
index | Index of the element |
- Template Parameters
-
T | Type of element (fails if element is not of this type) |
- Returns
- SharedPtr containing the element (or null if failed)
template<class V >
ArrayBase& Sqrat::ArrayBase::Insert |
( |
const SQInteger |
destpos, |
|
|
const V & |
val |
|
) |
| |
|
inline |
Inserts a value in a position in the Array
- Parameters
-
destpos | Index to put the new value in |
val | Value that is being placed in the Array |
- Template Parameters
-
V | Type of value (usually doesnt need to be defined explicitly) |
- Returns
- The Array itself so the call can be chained
template<class V >
ArrayBase& Sqrat::ArrayBase::Insert |
( |
const SQInteger |
destpos, |
|
|
V * |
val |
|
) |
| |
|
inline |
Inserts an instance in a position in the Array (like a reference)
- Parameters
-
destpos | Index to put the new value in |
val | Pointer to the instance that is being placed in the Array |
- Template Parameters
-
V | Type of instance (usually doesnt need to be defined explicitly) |
- Returns
- The Array itself so the call can be chained
SQInteger Sqrat::ArrayBase::Length |
( |
| ) |
const |
|
inline |
Returns the length of the Array
- Returns
- Length in number of elements
Object Sqrat::ArrayBase::Pop |
( |
| ) |
|
|
inline |
Removes the last element from the Array
- Returns
- Object for the element that was removed (null if failed)
ArrayBase& Sqrat::ArrayBase::Remove |
( |
const SQInteger |
itemidx | ) |
|
|
inline |
Removes an element at a specific index from the Array
- Parameters
-
itemidx | Index of the element being removed |
- Returns
- The Array itself so the call can be chained
ArrayBase& Sqrat::ArrayBase::Resize |
( |
const SQInteger |
newsize | ) |
|
|
inline |
Resizes the Array
- Parameters
-
newsize | Desired size of the Array in number of elements |
- Returns
- The Array itself so the call can be chained
Reverses the elements of the array in place
- Returns
- The Array itself so the call can be chained
template<class V >
ArrayBase& Sqrat::ArrayBase::SetInstance |
( |
const SQInteger |
index, |
|
|
V * |
val |
|
) |
| |
|
inline |
Sets an index in the Array to a specific instance (like a reference)
- Parameters
-
index | The index in the array being assigned a value |
val | Pointer to the instance that is being placed in the Array |
- Template Parameters
-
V | Type of instance (usually doesnt need to be defined explicitly) |
- Returns
- The Array itself so the call can be chained
template<class V >
ArrayBase& Sqrat::ArrayBase::SetValue |
( |
const SQInteger |
index, |
|
|
const V & |
val |
|
) |
| |
|
inline |
Sets an index in the Array to a specific value
- Parameters
-
index | The index in the array being assigned a value |
val | Value that is being placed in the Array |
- Template Parameters
-
V | Type of value (usually doesnt need to be defined explicitly) |
- Returns
- The Array itself so the call can be chained
ArrayBase& Sqrat::ArrayBase::SquirrelFunc |
( |
const SQInteger |
index, |
|
|
SQFUNCTION |
func |
|
) |
| |
|
inline |
Binds a raw Squirrel closure to the Array
- Parameters
-
index | The index in the array being assigned a function |
func | Squirrel function that is being placed in the Array |
- Returns
- The Array itself so the call can be chained
The documentation for this class was generated from the following file:
- /media/drive2/atai/software_projects/sqrat/sqrat.git/include/sqrat/sqratArray.h