This reference page is linked to from the following overview topics: List of Python FBX classes.
Class for array of elements such as pointers and plain old data structures.
This class will not call constructor and destructor for elements.
ExportScene03/main.cxx, ViewScene/InitScene.cxx, ViewScene/InitScene.h, and ViewScene/main.cxx.
Definition at line 839 of file karrayul.h.
#include <karrayul.h>

Public Member Functions | 
|
| KArrayTemplate () | |
| Constructor.  | 
|
| KArrayTemplate (const KArrayTemplate &pArrayTemplate) | |
| Copy constructor.  | 
|
| ~KArrayTemplate () | |
| Destructor. The destructor of elements will
not be called.  | 
|
| int | InsertAt (int pIndex, Type pItem) | 
| Insert a element.  | 
|
| Type | RemoveAt (int pIndex) | 
| Remove a element in the array.  | 
|
| Type | RemoveLast () | 
| Remove the last element in the array.
 | 
|
| bool | RemoveIt (Type pItem) | 
| Remove first matching element in the array.
 | 
|
| Type & | operator[] (int pIndex) const | 
| Returns a reference to the element at given
position in the array.  | 
|
| void | SetAt (int pIndex, Type pItem) | 
| Set the element at given position in the
array.  | 
|
| void | SetLast (Type pItem) | 
| Set the value of the last element.  | 
|
| Type | GetAt (int pIndex) const | 
| Returns the value of the element at given
position in the array.  | 
|
| Type | GetFirst () const | 
| Get the first element.  | 
|
| Type | GetLast () const | 
| Get the last element.  | 
|
| int | Find (Type pItem) const | 
| Find first matching element.  | 
|
| int | FindAfter (int pAfterIndex, Type pItem) const | 
| Find first matching element after given
index.  | 
|
| int | FindBefore (int pBeforeIndex, Type pItem) const | 
| Find first matching pointer before given
index.  | 
|
| int | Add (Type pItem) | 
| Append an element at the end of the array.
 | 
|
| int | AddUnique (Type pItem) | 
| Add Element at the end of array if not
present.  | 
|
| void | AddMultiple (kUInt pItemCount) | 
| Add multiple elements at the end of array,
use SetAt or GetArray to set the value of the new elements.
 | 
|
| void | AddArray (const KArrayTemplate< Type > &pArray) | 
| Append another array at the end of this
array.  | 
|
| void | AddArrayNoDuplicate (const KArrayTemplate< Type > &pArray) | 
| Append the elements of another array at the
end of this array if they are not present.  | 
|
| void | RemoveArray (const KArrayTemplate< Type > &pArray) | 
| Remove the elements of another array from
this array is they are present.  | 
|
| Type * | GetArray () const | 
| Get pointer to internal array of elements.
 | 
|
| KArrayTemplate< Type > & | operator= (const KArrayTemplate< Type > &pArrayTemplate) | 
| Copy array of elements.  | 
|
| operator Type * () | |
| Cast operator.  | 
|
| KArrayTemplate | ( | ) | [inline] | 
| KArrayTemplate | ( | const KArrayTemplate< Type > & | pArrayTemplate | ) | [inline] | 
Copy constructor.
Definition at line 864 of file karrayul.h.
            : ParentClass ()
        {
            *this = pArrayTemplate;
        }
| ~KArrayTemplate | ( | ) | [inline] | 
Destructor. The destructor of elements will not be called.
Definition at line 871 of file karrayul.h.
{}
| int InsertAt | ( | int | pIndex, | 
| Type | pItem | ||
| ) | [inline] | 
Insert a element.
| pIndex | Position where to insert the pointer. | 
| pItem | Item to insert. | 
Definition at line 879 of file karrayul.h.
        {
            return ParentClass::InsertAt( pIndex,&pItem );
        }
| Type RemoveAt | ( | int | pIndex | ) | [inline] | 
Remove a element in the array.
| pIndex | Position of the item to remove. | 
Reimplemented from KBaseArrayFast< sizeof(Type) >.
Definition at line 889 of file karrayul.h.
        {
            Type tmpItem = GetAt(pIndex);
            ParentClass::RemoveAt( pIndex );
            return tmpItem;
        }
| Type RemoveLast | ( | ) | [inline] | 
Remove the last element in the array.
Definition at line 900 of file karrayul.h.
        {
            return RemoveAt(ParentClass::GetArrayCount()-1);
        }
| bool RemoveIt | ( | Type | pItem | ) | [inline] | 
Remove first matching element in the array.
| pItem | Item to be removed. | 
true if a matching pointer is found and removed,
false otherwise.Definition at line 909 of file karrayul.h.
| Type& operator[] | ( | int | pIndex | ) | const [inline] | 
Returns a reference to the element at given position in the array.
| pIndex | Position of element in the array. | 
Definition at line 925 of file karrayul.h.
        {
        #if defined(_DEBUG) && !defined(KARCH_ENV_MACOSX)
            if (!ParentClass::ValidateIndex( pIndex ))
            {
                return (Type &)(ParentClass::mBaseArray[(0)*sizeof(Type)+ ParentClass::GetHeaderOffset() ]);
            }
        #endif
            return (Type &)(ParentClass::mBaseArray[(pIndex)*sizeof(Type)+ ParentClass::GetHeaderOffset() ]);
        }
| void SetAt | ( | int | pIndex, | 
| Type | pItem | ||
| ) | [inline] | 
Set the element at given position in the array.
| pIndex | Position of element in the array. | 
| pItem | The new element. | 
Definition at line 941 of file karrayul.h.
        {
        #if defined(_DEBUG) && !defined(KARCH_ENV_MACOSX)
            if (!ParentClass::ValidateIndex( pIndex ))
            {
                return;
            }
        #endif
            GetArray()[pIndex] = pItem;
        }
| void SetLast | ( | Type | pItem | ) | [inline] | 
Set the value of the last element.
| pItem | The new value of the last element. | 
Definition at line 956 of file karrayul.h.
        {
            SetAt (ParentClass::GetArrayCount()-1, pItem);
        }
| Type GetAt | ( | int | pIndex | ) | const [inline] | 
Returns the value of the element at given position in the array.
| pIndex | Position of element in the array. | 
Definition at line 966 of file karrayul.h.
        {
        #if defined(_DEBUG) && !defined(KARCH_ENV_MACOSX)
            if (!ParentClass::ValidateIndex( pIndex ))
            {
                return (Type &)(ParentClass::mBaseArray[(0)*sizeof(Type)+ ParentClass::GetHeaderOffset() ]);
            }
        #endif
            return (Type &)(ParentClass::mBaseArray[(pIndex)*sizeof(Type)+ ParentClass::GetHeaderOffset() ]);
        }
| Type GetFirst | ( | ) | const [inline] | 
Get the first element.
Definition at line 981 of file karrayul.h.
        {
        #ifdef KFBX_PRIVATE
            K_ASSERT( ParentClass::GetArrayCount() >= 1 );
        #endif
            return GetAt(0);
        }
| Type GetLast | ( | ) | const [inline] | 
Get the last element.
Definition at line 993 of file karrayul.h.
        {
        #ifdef KFBX_PRIVATE
            K_ASSERT( ParentClass::GetArrayCount() >= 1 );
        #endif
            return GetAt(ParentClass::GetArrayCount()-1);
        }
| int Find | ( | Type | pItem | ) | const [inline] | 
Find first matching element.
| pItem | The item to be compared to each of the elements. | 
Definition at line 1005 of file karrayul.h.
        {
            return FindAfter( -1, pItem );
        }
| int FindAfter | ( | int | pAfterIndex, | 
| Type | pItem | ||
| ) | const [inline] | 
Find first matching element after given index.
| pAfterIndex | The index after which the finding begins. | 
| pItem | The item to be compared to each of the elements. | 
Definition at line 1016 of file karrayul.h.
        {
        #ifdef KFBX_PRIVATE
        #ifdef _DEBUG
            if ( pAfterIndex > ParentClass::GetArrayCount() || pAfterIndex < -1 )
            {
                K_ASSERT_MSG_NOW (_T("ArrayUL : Search Begin Index out of range"));
                return -1;
            }
        #endif
        #endif
            int Count;
            for ( Count=pAfterIndex+1; Count<ParentClass::GetArrayCount(); Count++)
            {
                if (GetAt(Count)==pItem)
                {
                    return Count;
                }
            }
            return -1;
        }
| int FindBefore | ( | int | pBeforeIndex, | 
| Type | pItem | ||
| ) | const [inline] | 
Find first matching pointer before given index.
| pBeforeIndex | The index before which the finding begins. | 
| pItem | The item to be compared to each of the elements. | 
Definition at line 1044 of file karrayul.h.
        {
        #ifdef KFBX_PRIVATE
        #ifdef _DEBUG
            if ( pBeforeIndex > ParentClass::GetArrayCount() || pBeforeIndex <= 0 )
            {
                K_ASSERT_MSG_NOW (_T("ArrayUL : Search Begin Index out of range"));
                return -1;
            }
        #endif
        #endif
            int Count;
            for ( Count=pBeforeIndex-1; Count>=0; Count--)
            {
                if (GetAt(Count)==pItem)
                {
                    return Count;
                }
            }
            return -1;
        }
| int Add | ( | Type | pItem | ) | [inline] | 
Append an element at the end of the array.
| pItem | Value to be copied to the new element. | 
Definition at line 1070 of file karrayul.h.
        {
            return InsertAt(ParentClass::GetArrayCount(), pItem);
        }
| int AddUnique | ( | Type | pItem | ) | [inline] | 
Add Element at the end of array if not present.
| pItem | Value to be copied to the new element. | 
Definition at line 1079 of file karrayul.h.
| void AddMultiple | ( | kUInt | pItemCount | ) | [inline] | 
Add multiple elements at the end of array, use SetAt or GetArray to set the value of the new elements.
| pItemCount | How many new elements you want to add. | 
Definition at line 1092 of file karrayul.h.
        {
            ParentClass::AddMultiple(pItemCount);
        }
| void AddArray | ( | const KArrayTemplate< Type > & | pArray | ) | [inline] | 
Append another array at the end of this array.
| pArray | Another array. | 
Definition at line 1100 of file karrayul.h.
        {
            int lSourceIndex, lCount = pArray.GetCount();
            if( lCount == 0 ) return;
            int lDestinationIndex = ParentClass::GetCount();
            AddMultiple(lCount);
            for( lSourceIndex = 0; lSourceIndex < lCount; lSourceIndex++)
            {
                SetAt(lDestinationIndex++, pArray[lSourceIndex]);
            }
        }
| void AddArrayNoDuplicate | ( | const KArrayTemplate< Type > & | pArray | ) | [inline] | 
Append the elements of another array at the end of this array if they are not present.
| pArray | Another array. | 
Definition at line 1115 of file karrayul.h.
| void RemoveArray | ( | const KArrayTemplate< Type > & | pArray | ) | [inline] | 
Remove the elements of another array from this array is they are present.
| pArray | Another array. | 
Definition at line 1131 of file karrayul.h.
| Type* GetArray | ( | ) | const [inline] | 
Get pointer to internal array of elements.
Definition at line 1141 of file karrayul.h.
        {
            if (ParentClass::mBaseArray == NULL)
                return NULL;
            return (Type*)(ParentClass::mBaseArray+ ParentClass::GetHeaderOffset()) ;
        }
| KArrayTemplate<Type>& operator= | ( | const KArrayTemplate< Type > & | pArrayTemplate | ) | [inline] | 
Copy array of elements.
Definition at line 1150 of file karrayul.h.
        {
            if ( this != &pArrayTemplate )
            {
                ParentClass::Clear();
                int i, lCount = pArrayTemplate.GetCount();
                for (i = 0; i < lCount; i++)
                {
                    Add(pArrayTemplate[i]);
                }
            }
            return (*this);
        }
| operator Type * | ( | ) | [inline] |