System.Generic.List type implementation. More...
#include <BasicMonoStructures.hpp>
Classes | |
struct | Enumerator |
System.Generic.List.Enumerator struct implementation. More... | |
Public Member Functions | |
T * | GetData () const |
Get list data pointer. | |
int | GetSize () const |
Get list size. | |
int | GetCapacity () const |
Get list capacity. | |
int | GetVersion () const |
Get list version. | |
std::vector< T > | ToVector () const |
Convert list to std::vector. | |
void | Add (T val) |
Add element to list. | |
int | IndexOf (T val) const |
Get element index. | |
void | RemoveAt (int index) |
Remove element at index. | |
bool | Remove (T val) |
Remove element. | |
bool | Resize (int newCapacity) |
Resize list. | |
Utils::DataIterator< T > | At (int index) const |
Get element at index. | |
Utils::DataIterator< T > | operator[] (int index) const |
bool | CopyFrom (const std::vector< T > &vec) |
Copy data from vector to current array. | |
bool | CopyFrom (T *arr, int arrSize) |
Copy data from pointer to current list. | |
void | Clear () |
Remove all list elements. | |
bool | Contains (T item) const |
Check if element is in list. | |
Enumerator | GetEnumerator () |
T | get_Item (int index) const |
Get element at index. | |
void | set_Item (int index, T item) |
Set element at index. | |
void | Insert (int index, T item) |
Insert element to index. | |
void | CopyTo (Array< T > *arr, int arrIndex) const |
Copy data from current list to some array. | |
void | GrowIfNeeded (int n) |
Check if list has capacity for n elements. | |
void | Shift (int start, int delta) |
Shift data in list. | |
bool | SelfCheck () const |
Check if list isn't null. | |
constexpr | List () |
Create empty list. | |
Public Attributes | |
Array< T > * | items {} |
int | size {} |
int | version {} |
void * | syncRoot {} |
System.Generic.List type implementation.
T | Element type |
|
inlinenodiscard |
Get element at index.
index | Element index |
|
inlinenodiscard |
Check if element is in list.
It's not quite like in C# because of its features.
item | Element to check |
|
inline |
Copy data from vector to current array.
vec | Source vector |
|
inline |
Copy data from pointer to current list.
arr | Source pointer |
size | Source pointer size |
|
inlinenodiscard |
Get element at index.
index | Element index |
|
inlinenodiscard |
Get list capacity.
|
inlinenodiscard |
Get list data pointer.
|
inlinenodiscard |
Get list size.
|
inlinenodiscard |
Get list version.
|
inline |
Check if list has capacity for n elements.
n | Number of additional elements |
|
inline |
Insert element to index.
index | Element index |
item | New element value |
|
inline |
Remove element.
|
inline |
Resize list.
newCapacity | New capacity for target list. |
|
inlinenodiscard |
Check if list isn't null.
Checks if list is not null and logs if it's null. It's used mostly internally in debug builds to crash proof code.
|
inline |
Set element at index.
index | Element index |
item | New element value |
|
inline |
Shift data in list.
start | Start index |
delta | Move delta |
|
inlinenodiscard |
Convert list to std::vector.