System::Collections::Generic::List class
Contents
[
Hide
]List class
List forward declaration.
template<typename T>class List : public virtual System::Object,
public System::Collections::Generic::IList<T>
Parameter | Description |
---|---|
T | Element type. |
Nested classes
- Class Enumerator
Methods
Method | Description |
---|---|
_add_range(std::initializer_list<T>) | C++ specific. |
Add(const T&) override | Adds element to the end of list. |
AddInitializer(int, const T) | Adds elements to list; used when translating initializers. |
AddRange(IEnumerablePtr) | Adds all elements from collection (or itself) to the end of current list. |
AsReadOnly() | Gets read-only reference to this collection. |
begin() | Gets iterator to the first element of collection. |
begin() const | Gets iterator to the first element of the const-qualified collection. |
BinarySearch(const T&) const | Looks for item in a sorted list. |
BinarySearch(const T&, const SharedPtr<System::Collections::Generic::IComparer<T>>&) const | Looks for item in a sorted list. |
BinarySearch(int, int, const T&, const SharedPtr<System::Collections::Generic::IComparer<T>>&) const | Looks for item in a sorted list. |
cbegin() const | Gets iterator to the first const-qualified element of collection. |
cend() const | Gets iterator for a non-existent const-qualified element behind the end of the collection. |
Clear() override | Deletes all elements. |
Contains(const T&) const override | Checks if item is present in list. |
ConvertAll(Converter<T, OutputType>) | Creates a list of elements converted to different type. |
CopyTo(System::ArrayPtr<T>, int) override | Copies list elements into existing array elements. |
CopyTo(const System::ArrayPtr<T>&) | Copies all elements into existing array elements. |
CopyTo(int, const System::ArrayPtr<T>&, int, int) | Copies elements starting from the specified index into existing array elements. |
crbegin() const | Gets a reverse iterator to the last const-qualified element of collection (first in reverse). |
crend() const | Gets a reverse iterator for a non-existent const-qualified element before the start of the collection. |
data() | Underlying data structure access function. |
data() const | Underlying data structure access function. |
end() | Gets iterator for a non-existent element behind the end of the collection. |
end() const | Gets iterator for a non-existent element behind the end of the const-qualified collection. |
Exists(System::Predicate<T>) | Checks if element adhering to specific predicate exists in list. |
Find(System::Predicate<T>) | Looks for element adhering to specific predicate. |
FindAll(System::Predicate<T>) | Looks for elements adhering to specific predicate. |
FindIndex(System::Predicate<T>) | Looks for element adhering to specific predicate. |
FindIndex(int, System::Predicate<T>) | Looks for element adhering to specific predicate. |
FindIndex(int, int, System::Predicate<T>) | Looks for element adhering to specific predicate. |
FindLast(System::Predicate<T>) | Looks for last element adhering to specific predicate. |
ForEach(System::Action<T>) | Applies action to all elements in list. |
get_Capacity() const | Gets current list capacity. |
get_Count() const override | Gets number of elements in current list. |
GetEnumerator() override | Gets enumerator to iterate through list elements. |
GetRange(int, int) | Creates slice of list. |
idx_get(int) const override | Gets element at specific position. |
idx_set(int, T) override | Sets element at specific position. |
IndexOf(const T&) const override | Gets first index of specific item. |
IndexOf(const T&, int) const | Looks for specific item in list. |
Insert(int, const T&) override | Inserts item at specified position. |
InsertRange(int, IEnumerablePtr) | Inserts data range at specific position. |
LastIndexOf(const T&) const | Searches for the specified object and returns the zero-based index of the last occurrence within the entire list. |
LastIndexOf(const T&, int32_t) const | Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the List that extends from the first element to the specified index. |
LastIndexOf(const T&, int32_t, int32_t) const | Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the List that contains the specified number of elements and ends at the specified index. |
List() | Creates empty list. |
List(int) | Creates list with pre-defined capacity. |
List(IEnumerablePtr) | Copy constructor. |
operator[](int) | Accessor function. |
operator[](int) const | Accessor function. |
rbegin() | Gets a reverse iterator to the last element of collection (first in reverse). |
rbegin() const | Gets a reverse iterator to the last element of the const-qualified collection (first in reverse). |
Remove(const T&) override | Removes first instance of specific item from list. |
RemoveAll(Predicate<T>) | Removes all elements matching specific predicate. |
RemoveAt(int) override | Removes item at specified position. |
RemoveRange(int, int) | Removes slice of list. |
rend() | Gets a reverse iterator for a non-existent element before the start of the collection. |
rend() const | Gets a reverse iterator for a non-existent element before the start of the const-qualified collection. |
Reverse() | Reverses elements order of the whole list. |
Reverse(int, int) | Reverses elements order of the list slice. |
set_Capacity(int) | Sets list capacity. |
Sort(const SharedPtr<System::Collections::Generic::IComparer<T>>&) | Sorts elements in the list. |
Sort() | Sorts elements in the list using default comparator. |
Sort(int, int, SharedPtr<System::Collections::Generic::IComparer<T>>) | Sorts elements in the list slice. |
Sort(Comparison<T>, bool) | Sorts elements in the list. |
ToArray() const | Converst list to array. |
TrimExcess() | Makes list capacity to fit its size. |
TrueForAll(System::Predicate<T>) | Determines whether every element in the collection matches the conditions defined by the specified predicate. |
virtualizeBeginConstIterator() const override | Gets the implementation of begin const iterator for the current container. |
virtualizeBeginIterator() override | Gets the implementation of begin iterator for the current container. |
virtualizeEndConstIterator() const override | Gets the implementation of end const iterator for the current container. |
virtualizeEndIterator() override | Gets the implementation of end iterator for the current container. |
Typedefs
Typedef | Description |
---|---|
BaseType | Interface type. |
const_iterator | Const iterator type. |
const_reverse_iterator | Const reverse iterator type. |
IEnumerablePtr | Container holding elements of same type we hold. |
IEnumeratorPtr | Enumerator type. |
iterator | Iterator type. |
reverse_iterator | Reverse iterator type. |
ValueType | This type. |
vector_t | RTTI information. |
Remarks
List - wrapper around std::vector to be used in translated code. Requires operator == to be impemented for element type. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.
#include <system/collections/list.h>
#include <system/smart_ptr.h>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
// Create the first list.
auto list1 = MakeObject<List<int>>();
// Fill the first list.
list1->Add(3);
list1->Add(1);
list1->Add(-5);
list1->Add(8);
// Sort the first list.
// The first list items will be: {-5, 1, 3, 8}
list1->Sort();
// Remove the item at index 2.
// The first list items will be: {-5, 1, 8}
list1->RemoveAt(2);
// Insert the item to index 1.
// The first list items will be: {-5, 15, 1, 8}
list1->Insert(1, 15);
// Create the second list.
auto list2 = MakeObject<List<int>>();
// Fill the second list.
list2->Add(10);
list2->Add(20);
list2->Add(30);
// Append elements from the second list to the first one.
list1->AddRange(list2);
// Print the first list items.
for (const auto item: list1)
{
std::cout << item << ' ';
}
return 0;
}
/*
This code example produces the following output:
-5 15 1 8 10 20 30
*/
See Also
- Class Object
- Class IList
- Namespace System::Collections::Generic
- Library Aspose.PDF for C++