|
| LinkedList () |
| Creates empty LinkedList. More...
|
|
| LinkedList (const SharedPtr< IEnumerable< T > > &collection) |
| Copy constructor. More...
|
|
SharedPtr< LinkedListNode< T > > | get_First () const |
| Gets pointer to the first element in the list. More...
|
|
SharedPtr< LinkedListNode< T > > | get_Last () const |
| Gets pointer to the last element in the list. More...
|
|
int | get_Count () const override |
| Gets number of elements in list. More...
|
|
SharedPtr< LinkedListNode< T > > | AddAfter (const SharedPtr< LinkedListNode< T > > &node, const T &element) |
| Adds element after node of the list. More...
|
|
void | AddAfter (const SharedPtr< LinkedListNode< T > > &node, const SharedPtr< LinkedListNode< T > > &newNode) |
| Adds newNode after node of the list. More...
|
|
SharedPtr< LinkedListNode< T > > | AddBefore (const SharedPtr< LinkedListNode< T > > &node, const T &element) |
| Adds element before node of the list. More...
|
|
void | AddBefore (const SharedPtr< LinkedListNode< T > > &node, const SharedPtr< LinkedListNode< T > > &newNode) |
| Adds newNode before node of the list. More...
|
|
SharedPtr< LinkedListNode< T > > | AddFirst (const T &element) |
| Adds element to the beginning of the list. More...
|
|
void | AddFirst (const SharedPtr< LinkedListNode< T > > &newNode) |
| Adds newNode to the beginning of the list. More...
|
|
SharedPtr< LinkedListNode< T > > | AddLast (const T &element) |
| Adds element to the end of the list. More...
|
|
void | AddLast (const SharedPtr< LinkedListNode< T > > &newNode) |
| Adds newNode to the end of the list. More...
|
|
void | Add (const T &element) override |
| Adds element to the end of the list. More...
|
|
void | Clear () override |
| Deletes all elements in list. More...
|
|
bool | Contains (const T &element) const override |
| Checks if element is present in list. More...
|
|
void | CopyTo (ArrayPtr< T > array, int index) override |
| Copies container data into existing array elements. More...
|
|
SharedPtr< LinkedListNode< T > > | Find (const T &element) const |
| Performs forward direction find of an element in the list. More...
|
|
SharedPtr< LinkedListNode< T > > | FindLast (const T &element) const |
| Performs reverse direction find of an element in the list. More...
|
|
SharedPtr< IEnumerator< T > > | GetEnumerator () override |
| Gets enumerator to iterate through current LinkedList. More...
|
|
bool | Remove (const T &element) override |
| Removes first occurance of the specified element from list. More...
|
|
void | Remove (const SharedPtr< LinkedListNode< T > > &node) |
| Removes node from list. More...
|
|
void | RemoveFirst () |
| Removes first node from list. More...
|
|
void | RemoveLast () |
| Removes last node from list. More...
|
|
iterator | begin () noexcept |
| Gets iterator to the first element of collection. More...
|
|
iterator | end () noexcept |
| Gets iterator for a non-existent element behind the end of the collection. More...
|
|
const_iterator | begin () const noexcept |
| Gets iterator to the first element of the const-qualified collection. More...
|
|
const_iterator | end () const noexcept |
| Gets iterator for a non-existent element behind the end of the const-qualified collection. More...
|
|
const_iterator | cbegin () const noexcept |
| Gets iterator to the first const-qualified element of collection. More...
|
|
const_iterator | cend () const noexcept |
| Gets iterator for a non-existent const-qualified element behind the end of the collection. More...
|
|
reverse_iterator | rbegin () noexcept |
| Gets a reverse iterator to the last element of collection (first in reverse). More...
|
|
reverse_iterator | rend () noexcept |
| Gets a reverse iterator for a non-existent element before the start of the collection. More...
|
|
const_reverse_iterator | rbegin () const noexcept |
| Gets a reverse iterator to the last element of the const-qualified collection (first in reverse). More...
|
|
const_reverse_iterator | rend () const noexcept |
| Gets a reverse iterator for a non-existent element before the start of the const-qualified collection. More...
|
|
const_reverse_iterator | crbegin () const noexcept |
| Gets a reverse iterator to the last const-qualified element of collection (first in reverse). More...
|
|
const_reverse_iterator | crend () const noexcept |
| Gets a reverse iterator for a non-existent const-qualified element before the start of the collection. More...
|
|
System::Details::VirtualizedIteratorBase< T > * | virtualizeBeginIterator () override |
| Gets the implementation of begin iterator for the current container. More...
|
|
System::Details::VirtualizedIteratorBase< T > * | virtualizeEndIterator () override |
| Gets the implementation of end iterator for the current container. More...
|
|
System::Details::VirtualizedIteratorBase< T > * | virtualizeBeginConstIterator () const override |
| Gets the implementation of begin const iterator for the current container. More...
|
|
System::Details::VirtualizedIteratorBase< T > * | virtualizeEndConstIterator () const override |
| Gets the implementation of end const iterator for the current container. More...
|
|
| Object () |
| Creates object. Initializes all internal data structures. More...
|
|
virtual | ~Object () |
| Destroys object. Frees all internal data structures. More...
|
|
| 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...
|
|
void | Lock () |
| Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
|
|
void | Unlock () |
| Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
|
|
virtual bool | Equals (ptr obj) |
| Compares objects using C# Object.Equals semantics. More...
|
|
virtual int32_t | GetHashCode () const |
| Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
|
|
virtual String | ToString () const |
| Analog of C# Object.ToString() method. Enables converting custom objects to string. More...
|
|
virtual ptr | MemberwiseClone () const |
| Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
|
|
virtual const TypeInfo & | GetType () const |
| Gets actual type of object. Analog of C# System.Object.GetType() call. More...
|
|
virtual bool | Is (const TypeInfo &targetType) const |
| Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
|
|
virtual 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 bool | FastCast (const Details::FastRttiBase &helper, void **out_ptr) const |
| For internal purposes only. More...
|
|
template<> |
bool | ReferenceEquals (String const &str, std::nullptr_t) |
| Specialization of Object::ReferenceEquals for case of string and nullptr. More...
|
|
template<> |
bool | ReferenceEquals (String const &str1, String const &str2) |
| Specialization of Object::ReferenceEquals for case of strings. More...
|
|
virtual int | get_Count () const =0 |
| Gets number of elements in collection. More...
|
|
virtual void | Add (const T &item)=0 |
| Adds element into collection. More...
|
|
virtual void | Clear ()=0 |
| Deletes all elements from collection. More...
|
|
virtual bool | Contains (const T &item) const =0 |
| Checks if element is present in collection. More...
|
|
virtual bool | Remove (const T &item)=0 |
| Deletes element from collection. More...
|
|
virtual bool | get_IsReadOnly () const |
| Checks if collection is read only. More...
|
|
virtual void | CopyTo (System::ArrayPtr< T > array, int arrayIndex)=0 |
| Copies all collection elements to existing array elements. More...
|
|
ICollection & | operator= (ICollection &&) noexcept |
| Move assignment operator. More...
|
|
ICollection & | operator= (const ICollection &) |
| Move assignment operator. More...
|
|
| 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...
|
|
virtual SharedPtr< IEnumerator< T > > | GetEnumerator ()=0 |
| Gets enumerator. More...
|
|
T | LINQ_ElementAt (int index) |
| Returns the element at a specified index in a sequence. More...
|
|
T | LINQ_First () |
| Returns the first element of a sequence. More...
|
|
T | LINQ_First (const Func< T, bool > &predicate) |
| Returns the first element of a sequence that satisfy the specified condition. More...
|
|
T | LINQ_FirstOrDefault () |
| Returns the first element of a sequence, or a default value if the sequence is empty. More...
|
|
T | LINQ_FirstOrDefault (std::function< bool(T)> predicate) |
| Returns the first element of the sequence that satisfies a condition or a default value if no such element is found. More...
|
|
T | LINQ_Last () |
| Returns the last element of a sequence. More...
|
|
T | LINQ_LastOrDefault () |
| Returns the last element of a sequence, or a default value if the sequence is empty. More...
|
|
SharedPtr< List< T > > | LINQ_ToList () |
| Creates a List<T> from a sequence. More...
|
|
int | LINQ_Count () |
| Returns the number of elements in the sequence (calculated via direct counting). More...
|
|
int | LINQ_Count (const Func< T, bool > &predicate) |
| Returns the number of elements in the sequence that satisfy the specified condition. More...
|
|
System::ArrayPtr< T > | LINQ_ToArray () |
| Creates an array from a sequence. More...
|
|
bool | LINQ_All (std::function< bool(T)> predicate) |
| Determines whether all elements of a sequence satisfy a condition. More...
|
|
bool | LINQ_Any () |
| Determines whether a sequence contains any elements. More...
|
|
bool | LINQ_Any (std::function< bool(T)> predicate) |
| Determines whether any element of a sequence exists or satisfies a condition. More...
|
|
SharedPtr< IEnumerable< T > > | LINQ_Where (std::function< bool(T)> predicate) |
| Filters a sequence based on the specified predicate. More...
|
|
bool | LINQ_Contains (T value) |
| Determines if a sequence contains a specified value. More...
|
|
template<typename ResultType > |
SharedPtr< IEnumerable< ResultType > > | LINQ_Cast () |
| Casts the elements to the specified type. More...
|
|
template<typename Key > |
SharedPtr< IEnumerable< T > > | LINQ_OrderBy (const Func< T, Key > &keySelector) |
| Sorts the elements of a sequence in ascending order according to the key values selected by keySelector. More...
|
|
template<typename Key > |
SharedPtr< IEnumerable< T > > | LINQ_OrderByDescending (const Func< T, Key > &keySelector) |
| Sorts the elements of a sequence in descending order according to the key values selected by keySelector. More...
|
|
template<typename ResultType > |
SharedPtr< IEnumerable< ResultType > > | LINQ_OfType () |
| Filters the elements of the sequence based on the specified type. More...
|
|
template<typename ResultType > |
SharedPtr< IEnumerable< ResultType > > | LINQ_Select (const Func< T, ResultType > &selector) |
| Transforms elements of a sequence. More...
|
|
template<typename ResultType > |
SharedPtr< IEnumerable< ResultType > > | LINQ_Select (const Func< T, int32_t, ResultType > &selector) |
| Transforms each element of a sequence into a new form by incorporating the element's index. More...
|
|
SharedPtr< IEnumerable< T > > | LINQ_Concat (SharedPtr< IEnumerable< T > > sequence) |
| Concatenates two sequences. More...
|
|
template<typename Key > |
System::SharedPtr< IEnumerable< System::SharedPtr< System::Linq::IGrouping< Key, T > > > > | LINQ_GroupBy (System::Func< T, Key > keyPredicate) |
| Groups the elements of a sequence. More...
|
|
template<typename ResultType > |
SharedPtr< IEnumerable< ResultType > > | LINQ_SelectMany (const Func< T, SharedPtr< IEnumerable< ResultType > > > &selector) |
| Projects each element of a sequence and combines the resulting sequences into one sequence. More...
|
|
iterator | begin () |
| Gets iterator pointing to the first element (if any) of the collection. This iterator can't be used to change a referenced object because GetEnumerator() returns a copy-object of T. More...
|
|
iterator | end () |
| Gets iterator pointing right after the last element (if any) of the collection. This iterator can't be used to change a referenced object because GetEnumerator() returns a copy-object of T. More...
|
|
const_iterator | begin () const |
| Gets iterator pointing to the first element (if any) of the const-qualified instance of the collection. More...
|
|
const_iterator | end () const |
| Gets iterator pointing right after the last element (if any) of the const-qualified instance of the collection. More...
|
|
const_iterator | cbegin () const |
| Gets iterator pointing to the first const-qualified element (if any) of the collection. More...
|
|
const_iterator | cend () const |
| Gets iterator pointing right after the last const-qualified element (if any) of the collection. More...
|
|
virtual virtualized_iterator * | virtualizeBeginIterator () |
| Gets the implementation of begin iterator for the current container. More...
|
|
virtual virtualized_iterator * | virtualizeEndIterator () |
| Gets the implementation of end iterator for the current container. More...
|
|
virtual virtualized_iterator * | virtualizeBeginConstIterator () const |
| Gets the implementation of begin const iterator for the current container. More...
|
|
virtual virtualized_iterator * | virtualizeEndConstIterator () const |
| Gets the implementation of end const iterator for the current container. More...
|
|
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) |
|
template<typename T>
class System::Collections::Generic::LinkedList< T >
LinkedList forward declaration.
Linked list container. Implements a wrapper over std::list. 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/linkedlist.h>
#include <system/smart_ptr.h>
int main()
{
auto list = MakeObject<LinkedList<int>>();
list->AddFirst(1);
list->AddLast(30);
list->AddAfter(list->get_First(), 15);
list->AddBefore(list->get_Last(), 25);
for (const auto item: list)
{
std::cout << item << ' ';
}
return 0;
}
Definition: algorithms.h:10
Definition: db_command.h:9
- Template Parameters
-