2#include <system/object_ext.h>
3#include <system/collections/ilist_ng.h>
4#include <system/collections/ienumerator_impl.h>
23 return System::ExplicitCast<T>(value);
37 return BoxValue(m_list->idx_get(index));
45 m_list->Insert(index, UnboxValue(value));
53 return m_list->IndexOf(UnboxValue(value));
60 m_list->RemoveAt(index);
67 m_list->Add(UnboxValue(item));
68 return m_list->get_Count() - 1;
82 return m_list->Contains(UnboxValue(item));
89 m_list->Remove(UnboxValue(item));
97 return m_list->get_Count();
104 return System::MakeObject<System::Collections::IEnumeratorImplRefType<T>>(m_list->GetEnumerator());
136 m_list->Insert(index, ObjectExt::Unbox<T>(value));
144 return m_list->IndexOf(ObjectExt::Unbox<T>(value));
151 m_list->RemoveAt(index);
158 m_list->Add(ObjectExt::Unbox<T>(item));
159 return m_list->get_Count() - 1;
173 return m_list->Contains(ObjectExt::Unbox<T>(item));
180 m_list->Remove(ObjectExt::Unbox<T>(item));
188 return m_list->get_Count();
195 return System::MakeObject<System::Collections::IEnumeratorImplValueType<T>>(m_list->GetEnumerator());
Interface of indexed container of elements. Objects of this class should only be allocated using Syst...
Definition: ilist.h:19
List forward declaration.
Definition: list.h:127
IList Represents a non-generic collection of objects that can be individually accessed by index.
Definition: ilist_ng.h:9
Stub that implements System::Collections::IList interface on System::Collections::Generic::List objec...
Definition: ilist_impl.h:13
virtual int Add(SharedPtr< System::Object > item) override
Adds element to the end of list.
Definition: ilist_impl.h:65
virtual void RemoveAt(int index) override
Removes item at specified position.
Definition: ilist_impl.h:58
virtual int IndexOf(System::SharedPtr< System::Object > value) const override
Gets index of first appearance of item in container.
Definition: ilist_impl.h:51
virtual bool Contains(SharedPtr< System::Object > item) const override
Checks if item is present in list.
Definition: ilist_impl.h:80
virtual SharedPtr< System::Collections::IEnumerator > GetEnumerator() override
IEnumerable.GetEnumerator() implementation Returns an enumerator that iterates through a collection.
Definition: ilist_impl.h:102
static System::SharedPtr< System::Object > BoxValue(System::SharedPtr< T > value)
Converting type reference into object value into object.
Definition: ilist_impl.h:27
virtual SharedPtr< System::Object > idx_get(int index, int dummy=0) const override
Gets the element at the specified index.
Definition: ilist_impl.h:35
virtual void Insert(int index, System::SharedPtr< System::Object > value) override
Inserts element into specified position, shifting other elements.
Definition: ilist_impl.h:43
IListImplRefType(System::SharedPtr< System::Collections::Generic::List< System::SharedPtr< T > > > list)
Creates new object instance.
Definition: ilist_impl.h:17
virtual void Remove(SharedPtr< System::Object > item) override
Removes first instance of specific item from list.
Definition: ilist_impl.h:87
virtual int get_Count() const override
ICollection.get_Count() methods implementation Gets number of elements in collection.
Definition: ilist_impl.h:95
virtual void Clear() override
Deletes all elements.
Definition: ilist_impl.h:72
static System::SharedPtr< T > UnboxValue(System::SharedPtr< System::Object > value)
Converting object value into partucular type reference.
Definition: ilist_impl.h:21
Stub that implements System::Collections::IList interface on System::Collections::Generic::List objec...
Definition: ilist_impl.h:115
virtual void Clear() override
Deletes all elements.
Definition: ilist_impl.h:163
IListImplValueType(System::SharedPtr< System::Collections::Generic::IList< T > > list)
Creates new object instance.
Definition: ilist_impl.h:119
virtual SharedPtr< System::Collections::IEnumerator > GetEnumerator() override
IEnumerable.GetEnumerator() implementation Returns an enumerator that iterates through a collection.
Definition: ilist_impl.h:193
virtual int get_Count() const override
ICollection.get_Count() methods implementation Gets number of elements in collection.
Definition: ilist_impl.h:186
virtual bool Contains(SharedPtr< System::Object > item) const override
Checks if item is present in list.
Definition: ilist_impl.h:171
virtual void Remove(SharedPtr< System::Object > item) override
Removes first instance of specific item from list.
Definition: ilist_impl.h:178
virtual int IndexOf(System::SharedPtr< System::Object > value) const override
Gets index of first appearance of item in container.
Definition: ilist_impl.h:142
virtual SharedPtr< System::Object > idx_get(int index, int dummy=0) const override
Gets the element at the specified index.
Definition: ilist_impl.h:126
int Add(SharedPtr< System::Object > item) override
Adds element to the end of list.
Definition: ilist_impl.h:156
virtual void RemoveAt(int index) override
Removes item at specified position.
Definition: ilist_impl.h:149
virtual void Insert(int index, System::SharedPtr< System::Object > value) override
Inserts element into specified position, shifting other elements.
Definition: ilist_impl.h:134
static std::enable_if< std::is_enum< T >::value, System::SmartPtr< System::Object > >::type Box(const T &value)
Boxes value types for converting to Object. Implementation for enum types.
Definition: object_ext.h:198
Pointer class to wrap types being allocated on heap. Use it to manage memory for classes inheriting O...
Definition: smart_ptr.h:180
Definition: db_command.h:9