List forward declaration. More...
Inherits System::Object, and System::Collections::Generic::IList< T >.
Inherited by System::Collections::Generic::ListExt< T >.
Classes | |
class | Enumerator |
Public Types | |
typedef T | ValueType |
This type. More... | |
typedef IList< T > | BaseType |
Interface type. More... | |
typedef std::vector< T, ASPOSE_COLLECTION_ALLOCATOR_TYPE > | vector_t |
Underlying data type. More... | |
typedef vector_t::iterator | iterator |
Iterator type. More... | |
typedef vector_t::const_iterator | const_iterator |
Const iterator type. More... | |
typedef vector_t::reverse_iterator | reverse_iterator |
Reverse iterator type. More... | |
typedef vector_t::const_reverse_iterator | const_reverse_iterator |
Const reverse iterator type. More... | |
typedef SharedPtr< IEnumerable< T > > | IEnumerablePtr |
Container holding elements of same type we hold. More... | |
typedef SharedPtr< IEnumerator< T > > | IEnumeratorPtr |
Enumerator type. More... | |
Public Types inherited from System::Object | |
typedef SmartPtr< Object > | ptr |
Alias for smart pointer type. More... | |
Public Types inherited from System::Collections::Generic::IList< T > | |
typedef ICollection< T > | BaseType |
Base type. More... | |
typedef IList< T > | ThisType |
This type. More... | |
typedef T | ValueType |
Value type. More... | |
Public Types inherited from System::Collections::Generic::ICollection< T > | |
typedef T | ValueType |
Value type name. More... | |
typedef ICollection< T > | ThisType |
Collection type name. More... | |
Public Types inherited from System::Collections::Generic::IEnumerable< T > | |
typedef IEnumerator< T > | IEnumeratorType |
Enumerator type. More... | |
using | ValueType = T |
using | iterator = System::Details::VirtualizedIterator< T > |
Iterator type. More... | |
using | const_iterator = System::Details::VirtualizedConstIterator< T > |
Const iterator type. More... | |
using | virtualized_iterator = System::Details::VirtualizedIteratorBase< T > |
Inner iterator base type. More... | |
using | virtualized_iterator_element = T |
Inner iterator element type. More... | |
Public Member Functions | |
List () | |
Creates empty list. More... | |
List (int capacity) | |
List (IEnumerablePtr collection) | |
void | AddInitializer (int size, const T inits[]) |
iterator | begin () noexcept |
iterator | end () noexcept |
const_iterator | begin () const noexcept |
const_iterator | end () const noexcept |
const_iterator | cbegin () const noexcept |
const_iterator | cend () const noexcept |
reverse_iterator | rbegin () noexcept |
reverse_iterator | rend () noexcept |
const_reverse_iterator | rbegin () const noexcept |
const_reverse_iterator | rend () const noexcept |
const_reverse_iterator | crbegin () const noexcept |
const_reverse_iterator | crend () const noexcept |
IEnumeratorPtr | GetEnumerator () override |
int | get_Count () const override |
void | Add (const T &item) override |
void | Clear () override |
Deletes all elements. More... | |
bool | Contains (const T &item) const override |
bool | Remove (const T &item) override |
void | CopyTo (System::ArrayPtr< T > array, int arrayIndex) override |
int | IndexOf (const T &item) const override |
void | Insert (int index, const T &item) override |
void | RemoveAt (int index) override |
T | idx_get (int index) const override |
void | idx_set (int index, T value) override |
int | get_Capacity () const |
void | set_Capacity (int capacity) |
void | AddRange (IEnumerablePtr collection) |
SharedPtr< System::Collections::ObjectModel::ReadOnlyCollection< T > > | AsReadOnly () |
int | BinarySearch (const T &item) const |
int | BinarySearch (const T &item, const SharedPtr< System::Collections::Generic::IComparer< T > > &comparer) const |
int | BinarySearch (int index, int count, const T &item, const SharedPtr< System::Collections::Generic::IComparer< T > > &comparer) const |
template<typename OutputType > | |
SharedPtr< List< OutputType > > | ConvertAll (Converter< T, OutputType > converter) |
void | CopyTo (const System::ArrayPtr< T > &array) |
void | CopyTo (int index, const System::ArrayPtr< T > &array, int arrayIndex, int count) |
bool | Exists (System::Predicate< T > match) |
T | Find (System::Predicate< T > predicate) |
ListPtr< T > | FindAll (System::Predicate< T > match) |
int | FindIndex (System::Predicate< T > match) |
int | FindIndex (int startIndex, System::Predicate< T > match) |
int | FindIndex (int startIndex, int count, System::Predicate< T > match) |
T | FindLast (System::Predicate< T > match) |
void | ForEach (System::Action< T > action) |
ThisPtr | GetRange (int index, int count) |
int | IndexOf (const T &item, int index) const |
void | InsertRange (int index, IEnumerablePtr collection) |
int32_t | LastIndexOf (const T &item) const |
int32_t | LastIndexOf (const T &item, int32_t index) const |
int32_t | LastIndexOf (const T &item, int32_t index, int32_t count) const |
int | RemoveAll (Predicate< T > match) |
void | RemoveRange (int index, int count) |
void | Reverse () |
Reverses elements order of the whole list. More... | |
void | Reverse (int index, int count) |
void | Sort (const SharedPtr< System::Collections::Generic::IComparer< T > > &comparator) |
void | Sort () |
Sorts elements in the list using default comparator. More... | |
void | Sort (int index, int count, SharedPtr< System::Collections::Generic::IComparer< T > > comparator) |
void | Sort (Comparison< T > comparison, bool) |
ArrayPtr< T > | ToArray () const |
void | TrimExcess () |
Makes list capacity to fit its size. More... | |
bool | TrueForAll (System::Predicate< T > match) |
vector_t::reference | operator[] (int index) |
vector_t::const_reference | operator[] (int index) const |
vector_t & | data () |
const vector_t & | data () const |
void | _add_range (std::initializer_list< T > list) |
System::Details::VirtualizedIteratorBase< T > * | virtualizeBeginIterator () override |
System::Details::VirtualizedIteratorBase< T > * | virtualizeEndIterator () override |
System::Details::VirtualizedIteratorBase< T > * | virtualizeBeginConstIterator () const override |
System::Details::VirtualizedIteratorBase< T > * | virtualizeEndConstIterator () const override |
Public Member Functions inherited from System::Object | |
ASPOSECPP_SHARED_API | Object () |
Creates object. Initializes all internal data structures. More... | |
virtual ASPOSECPP_SHARED_API | ~Object () |
Destroys object. Frees all internal data structures. More... | |
ASPOSECPP_SHARED_API | Object (Object const &x) |
Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More... | |
Object & | operator= (Object const &x) |
Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More... | |
Object * | SharedRefAdded () |
Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
int | SharedRefRemovedSafe () |
Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
int | RemovedSharedRefs (int count) |
Decreases shared reference count by specified value. More... | |
Detail::SmartPtrCounter * | WeakRefAdded () |
Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
void | WeakRefRemoved () |
Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
Detail::SmartPtrCounter * | GetCounter () |
Gets reference counter data structure associated with the object. More... | |
int | SharedCount () const |
Gets current value of shared reference counter. More... | |
ASPOSECPP_SHARED_API void | Lock () |
Implements C# lock() statement locking. Call directly or use LockContext sentry object. More... | |
ASPOSECPP_SHARED_API void | Unlock () |
Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More... | |
virtual ASPOSECPP_SHARED_API bool | Equals (ptr obj) |
Compares objects using C# Object.Equals semantics. More... | |
virtual ASPOSECPP_SHARED_API int32_t | GetHashCode () const |
Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More... | |
virtual ASPOSECPP_SHARED_API String | ToString () const |
Analog of C# Object.ToString() method. Enables converting custom objects to string. More... | |
virtual ASPOSECPP_SHARED_API ptr | MemberwiseClone () const |
Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More... | |
virtual ASPOSECPP_SHARED_API const TypeInfo & | GetType () const |
Gets actual type of object. Analog of C# System.Object.GetType() call. More... | |
virtual ASPOSECPP_SHARED_API bool | Is (const TypeInfo &targetType) const |
Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More... | |
virtual ASPOSECPP_SHARED_API void | SetTemplateWeakPtr (uint32_t argument) |
Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More... | |
virtual ASPOSECPP_SHARED_API bool | FastCast (const Details::FastRttiBase &helper, void **out_ptr) const |
For internal purposes only. More... | |
template<> | |
bool | Equals (float const &objA, float const &objB) |
template<> | |
bool | Equals (double const &objA, double const &objB) |
template<> | |
bool | ReferenceEquals (String const &str, std::nullptr_t) |
template<> | |
bool | ReferenceEquals (String const &str1, String const &str2) |
Public Member Functions inherited from System::Collections::Generic::IList< T > | |
bool | get_IsFixedSize () |
Public Member Functions inherited from System::Collections::Generic::ICollection< T > | |
virtual bool | get_IsReadOnly () const |
ICollection & | operator= (ICollection &&) noexcept |
ICollection & | operator= (const ICollection &) |
ICollection () | |
Default constructor. More... | |
ICollection (const ICollection &) | |
Copy constructor. More... | |
ICollection (ICollection &&) noexcept | |
Move constructor. More... | |
virtual | ~ICollection () |
Destructor. More... | |
SharedPtr< Object > | get_SyncRoot () const |
Gets the object the collection is being synchronized through. More... | |
Public Member Functions inherited from System::Collections::Generic::IEnumerable< T > | |
T | LINQ_ElementAt (int index) |
T | LINQ_First () |
T | LINQ_First (const Func< T, bool > &predicate) |
T | LINQ_FirstOrDefault () |
T | LINQ_FirstOrDefault (std::function< bool(T)> predicate) |
T | LINQ_Last () |
T | LINQ_LastOrDefault () |
SharedPtr< List< T > > | LINQ_ToList () |
int | LINQ_Count () |
int | LINQ_Count (const Func< T, bool > &predicate) |
System::ArrayPtr< T > | LINQ_ToArray () |
bool | LINQ_All (std::function< bool(T)> predicate) |
bool | LINQ_Any () |
bool | LINQ_Any (std::function< bool(T)> predicate) |
SharedPtr< IEnumerable< T > > | LINQ_Where (std::function< bool(T)> predicate) |
bool | LINQ_Contains (T value) |
template<typename ResultType > | |
SharedPtr< IEnumerable< ResultType > > | LINQ_Cast () |
template<typename Key > | |
SharedPtr< IEnumerable< T > > | LINQ_OrderBy (const Func< T, Key > &keySelector) |
template<typename Key > | |
SharedPtr< IEnumerable< T > > | LINQ_OrderByDescending (const Func< T, Key > &keySelector) |
template<typename ResultType > | |
SharedPtr< IEnumerable< ResultType > > | LINQ_OfType () |
template<typename ResultType > | |
SharedPtr< IEnumerable< ResultType > > | LINQ_Select (const Func< T, ResultType > &selector) |
template<typename ResultType > | |
SharedPtr< IEnumerable< ResultType > > | LINQ_Select (const Func< T, int32_t, ResultType > &selector) |
SharedPtr< IEnumerable< T > > | LINQ_Concat (SharedPtr< IEnumerable< T >> sequence) |
template<typename Key > | |
System::SharedPtr< IEnumerable< System::SharedPtr< System::Linq::IGrouping< Key, T > > > > | LINQ_GroupBy (System::Func< T, Key > keyPredicate) |
template<typename ResultType > | |
SharedPtr< IEnumerable< ResultType > > | LINQ_SelectMany (const Func< T, SharedPtr< IEnumerable< ResultType >>> &selector) |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
const_iterator | cbegin () const |
const_iterator | cend () const |
template<typename Result > | |
SharedPtr< IEnumerable< Result > > | LINQ_Cast () |
template<typename Result > | |
SharedPtr< IEnumerable< Result > > | LINQ_OfType () |
template<typename Result > | |
SharedPtr< IEnumerable< Result > > | LINQ_Select (const Func< Source, Result > &selector) |
template<typename Result > | |
SharedPtr< IEnumerable< Result > > | LINQ_Select (const Func< Source, int32_t, Result > &selector) |
template<typename Key > | |
SharedPtr< IEnumerable< Source > > | LINQ_OrderBy (const Func< Source, Key > &keySelector) |
template<typename Key > | |
SharedPtr< IEnumerable< Source > > | LINQ_OrderByDescending (const Func< Source, Key > &keySelector) |
template<typename Key > | |
SharedPtr< IEnumerable< SharedPtr< System::Linq::IGrouping< Key, Source > > > > | LINQ_GroupBy (System::Func< Source, Key > keyPredicate) |
template<typename Result > | |
SharedPtr< IEnumerable< Result > > | LINQ_SelectMany (const Func< Source, SharedPtr< IEnumerable< Result >>> &selector) |
Additional Inherited Members | |
Static Public Member Functions inherited from System::Object | |
static bool | ReferenceEquals (ptr const &objA, ptr const &objB) |
Compares objects by reference. More... | |
template<typename T > | |
static std::enable_if<!IsSmartPtr< T >::value, bool >::type | ReferenceEquals (T const &objA, T const &objB) |
Compares objects by reference. More... | |
template<typename T > | |
static std::enable_if<!IsSmartPtr< T >::value, bool >::type | ReferenceEquals (T const &objA, std::nullptr_t) |
Reference-compares value type object with nullptr. More... | |
template<typename T1 , typename T2 > | |
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type | Equals (T1 const &objA, T2 const &objB) |
Compares reference type objects in C# style. More... | |
template<typename T1 , typename T2 > | |
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type | Equals (T1 const &objA, T2 const &objB) |
Compares value type objects in C# style. More... | |
static const TypeInfo & | Type () |
Implements C# typeof(System.Object) construct. More... | |
List forward declaration.
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.
T | Element type. |
typedef IList<T> System::Collections::Generic::List< T >::BaseType |
Interface type.
typedef vector_t::const_iterator System::Collections::Generic::List< T >::const_iterator |
Const iterator type.
typedef vector_t::const_reverse_iterator System::Collections::Generic::List< T >::const_reverse_iterator |
Const reverse iterator type.
typedef SharedPtr<IEnumerable<T> > System::Collections::Generic::List< T >::IEnumerablePtr |
Container holding elements of same type we hold.
typedef SharedPtr<IEnumerator<T> > System::Collections::Generic::List< T >::IEnumeratorPtr |
Enumerator type.
typedef vector_t::iterator System::Collections::Generic::List< T >::iterator |
Iterator type.
typedef vector_t::reverse_iterator System::Collections::Generic::List< T >::reverse_iterator |
Reverse iterator type.
typedef T System::Collections::Generic::List< T >::ValueType |
This type.
typedef std::vector<T, ASPOSE_COLLECTION_ALLOCATOR_TYPE> System::Collections::Generic::List< T >::vector_t |
Underlying data type.
|
inline |
Creates empty list.
|
inline |
Creates list with pre-defined capacity.
capacity | Number of elements to reserve. |
ArgumentOutOfRangeException | if capacity is less than zero. |
|
inline |
Copy constructor.
collection | Collection to copy data from. |
ArgumentNullException | if collection is nullptr. |
|
inline |
C++ specific
list | Range to insert into container. |
|
inlineoverridevirtual |
Adds element to the end of list.
item | Item to add. |
Implements System::Collections::Generic::ICollection< T >.
|
inline |
Adds elements to list; used when translating initializers.
size | Number of elements to insert. |
inits | Elements to insert. |
|
inline |
Adds all elements from collection (or itself) to the end of current list.
collection | Collection to copy elements from. |
ArgumentNullException | if collection is nullptr. |
|
inline |
Gets read-only reference to this collection.
|
inlinenoexcept |
Gets iterator to the first element of collection.
|
inlinenoexcept |
Gets iterator to the first element of the const-qualified collection.
|
inline |
Looks for item in a sorted list.
item | Item to look for. |
|
inline |
Looks for item in a sorted list.
item | Item to look for. |
comparer | Comparer to use. |
|
inline |
Looks for item in a sorted list.
index | Range beginning. |
count | Range size. |
item | Item to look for. |
comparer | Comparer to use. |
|
inlinenoexcept |
Gets iterator to the first const-qualified element of collection.
|
inlinenoexcept |
Gets iterator for a non-existent const-qualified element behind the end of the collection.
|
inlineoverridevirtual |
Deletes all elements.
Implements System::Collections::Generic::ICollection< T >.
|
inlineoverridevirtual |
Checks if item is present in list.
item | Item to look for. |
Implements System::Collections::Generic::ICollection< T >.
|
inline |
Creates a list of elements converted to different type.
OutputType | Output list element type. |
converter | Converter to use for items conversion. |
|
inlineoverridevirtual |
Copies list elements into existing array elements.
array | Destination array. |
arrayIndex | Destination array starting index. |
Implements System::Collections::Generic::ICollection< T >.
|
inline |
Copies all elements into existing array elements.
array | Array to copy elements into. |
|
inline |
Copies elements starting from the specified index into existing array elements.
index | A 0-based index of the element in the list represented by the current object to start copying from |
array | Array to copy elements into. |
arrayIndex | Beginning position in desitnation array. |
count | Number of elements to copy. |
|
inlinenoexcept |
Gets a reverse iterator to the last const-qualified element of collection (first in reverse).
|
inlinenoexcept |
Gets a reverse iterator for a non-existent const-qualified element before the start of the collection.
|
inline |
Underlying data structure access function.
|
inline |
Underlying data structure access function.
|
inlinenoexcept |
Gets iterator for a non-existent element behind the end of the collection.
|
inlinenoexcept |
Gets iterator for a non-existent element behind the end of the const-qualified collection.
|
inline |
Checks if element adhering to specific predicate exists in list.
match | Predicate to check elements with. |
|
inline |
Looks for element adhering to specific predicate.
predicate | Predicate to check elements with. |
|
inline |
Looks for elements adhering to specific predicate.
match | Predicate to check elements with. |
|
inline |
Looks for element adhering to specific predicate.
match | Predicate to check elements with. |
|
inline |
Looks for element adhering to specific predicate.
startIndex | Index to start search from. |
match | Predicate to check elements with. |
|
inline |
Looks for element adhering to specific predicate.
startIndex | Index to start search from. |
count | Number of elements to look through. |
match | Predicate to check elements with. |
|
inline |
Looks for last element adhering to specific predicate.
match | Predicate to check elements with. |
|
inline |
Applies action to all elements in list.
action | Action to apply. |
|
inline |
Gets current list capacity.
|
inlineoverridevirtual |
Gets number of elements in current list.
Implements System::Collections::Generic::ICollection< T >.
|
inlineoverridevirtual |
Gets enumerator to iterate through list elements.
Implements System::Collections::Generic::IEnumerable< T >.
|
inline |
Creates slice of list.
index | Range start index. |
count | Range size. |
|
inlineoverridevirtual |
Gets element at specific position.
index | Index to get element from. |
Implements System::Collections::Generic::IList< T >.
|
inlineoverridevirtual |
Sets element at specific position.
index | Index to set element at. |
value | Value to set to specified position. |
Implements System::Collections::Generic::IList< T >.
|
inlineoverridevirtual |
Gets first index of specific item.
item | Item to look for. |
Implements System::Collections::Generic::IList< T >.
|
inline |
Looks for specific item in list.
item | Item to look for. |
index | Index to start lookup at. |
|
inlineoverridevirtual |
Inserts item at specified position.
index | Index to insert item into. |
item | Item to insert. |
Implements System::Collections::Generic::IList< T >.
|
inline |
Inserts data range at specific position.
index | Index to insert data at. |
collection | Collection of elements to insert. |
ArgumentOutOfRangeException | if index is less than zero. |
ArgumentNullException | if collection is nullptr. |
|
inline |
Searches for the specified object and returns the zero-based index of the last occurrence within the entire list
item | The object to locate in the list |
|
inline |
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.
item | The object to locate in the list |
index | The zero-based starting index of the backward search. |
|
inline |
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.
item | The object to locate in the List |
index | The zero-based starting index of the backward search. |
count | The number of elements in the section to search. |
|
inline |
Accessor function.
index | Index to get element from. |
|
inline |
Accessor function.
index | Index to get element from. |
|
inlinenoexcept |
Gets a reverse iterator to the last element of collection (first in reverse).
|
inlinenoexcept |
Gets a reverse iterator to the last element of the const-qualified collection (first in reverse).
|
inlineoverridevirtual |
Removes first instance of specific item from list.
item | Item to remove. |
Implements System::Collections::Generic::ICollection< T >.
|
inline |
Removes all elements matching specific predicate.
match | Predicate to check elements with. |
|
inlineoverridevirtual |
Removes item at specified position.
index | Index to delete item at. |
Implements System::Collections::Generic::IList< T >.
|
inline |
Removes slice of list.
index | Slice beginning position. |
count | Number of elements to remove. |
|
inlinenoexcept |
Gets a reverse iterator for a non-existent element before the start of the collection.
|
inlinenoexcept |
Gets a reverse iterator for a non-existent element before the start of the const-qualified collection.
|
inline |
Reverses elements order of the whole list.
|
inline |
Reverses elements order of the list slice.
index | Slice beginning index. |
count | Slice size. |
|
inline |
Sets list capacity.
capacity | Capacity to set (can't be less than current size). |
|
inline |
Sorts elements in the list.
comparator | Comparator to use. |
|
inline |
Sorts elements in the list using default comparator.
|
inline |
Sorts elements in the list slice.
index | Slice beginning index. |
count | Slice size. |
comparator | Comparator to use. |
|
inline |
Sorts elements in the list.
comparison | Comparison to use. |
|
inline |
Converst list to array.
|
inline |
Makes list capacity to fit its size.
|
inline |
Determines whether every element in the collection matches the conditions defined by the specified predicate.
match | Predicate to check elements with. |
|
inlineoverridevirtual |
Gets the implementation of begin const iterator for the current container.
Reimplemented from System::Collections::Generic::IEnumerable< T >.
|
inlineoverridevirtual |
Gets the implementation of begin iterator for the current container.
Reimplemented from System::Collections::Generic::IEnumerable< T >.
|
inlineoverridevirtual |
Gets the implementation of end const iterator for the current container.
Reimplemented from System::Collections::Generic::IEnumerable< T >.
|
inlineoverridevirtual |
Gets the implementation of end iterator for the current container.
Reimplemented from System::Collections::Generic::IEnumerable< T >.