xtd 1.0.0
Loading...
Searching...
No Matches
ilist.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "icollection.hpp"
7#include "../../npos.hpp"
8#include "../../usize.hpp"
9
11namespace xtd {
13 namespace collections {
15 namespace generic {
41 template<typename type_t>
43 public:
45
55 inline static constexpr xtd::usize npos = xtd::npos;
57
59
63 [[nodiscard]] virtual auto count() const noexcept -> xtd::usize = 0;
64
68 [[nodiscard]] virtual auto data() noexcept -> type_t* = 0;
69
73 [[nodiscard]] virtual auto data() const noexcept -> const type_t* = 0;
74
78 virtual auto is_fixed_size() const noexcept -> bool = 0;
79
83 [[nodiscard]] virtual auto is_read_only() const noexcept -> bool = 0;
84
99 [[nodiscard]] virtual auto is_synchronized() const noexcept -> bool = 0;
100
122 [[nodiscard]] virtual auto sync_root() const noexcept -> const xtd::object& = 0;
124
126
131 virtual auto add(const type_t& item) -> void = 0;
132
136 virtual auto clear() -> void = 0;
137
142 [[nodiscard]] virtual auto contains(const type_t& item) const noexcept -> bool = 0;
143
148 virtual auto copy_to(xtd::array<type_t>& array, xtd::usize array_index) const -> void = 0;
149
152 [[nodiscard]] virtual auto get_enumerator() const -> xtd::collections::generic::enumerator<type_t> = 0;
153
158 [[nodiscard]] virtual auto index_of(const type_t& item) const noexcept -> xtd::usize = 0;
159
167 virtual auto insert(xtd::usize index, const type_t& item) -> void = 0;
168
175 virtual auto remove(const type_t& item) -> bool = 0;
176
182 virtual auto remove_at(xtd::usize index) -> void = 0;
184
186
188 using xtd::collections::generic::extensions::list_common<type_t, ilist<type_t>>::operator [];
189 using xtd::collections::generic::extensions::list_common<type_t, ilist<type_t>>::operator ();
193 virtual auto operator [](xtd::usize index) const -> const type_t& = 0;
197 virtual auto operator [](xtd::usize index) -> type_t& = 0;
199 };
200 }
201 }
202}
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:64
Internal list common definition.
Definition list_common.hpp:40
Defines methods to manipulate generic collections.
Definition icollection.hpp:45
Represents a collection of objects that can be individually accessed by index.
Definition ilist.hpp:42
static constexpr xtd::usize npos
Definition ilist.hpp:55
virtual auto add(const xtd::any_object &item) -> void=0
virtual auto contains(const xtd::any_object &item) const noexcept -> bool=0
virtual auto data() noexcept -> xtd::any_object *=0
virtual auto copy_to(xtd::array< xtd::any_object > &array, xtd::usize array_index) const -> void=0
virtual auto is_fixed_size() const noexcept -> bool=0
virtual auto is_synchronized() const noexcept -> bool=0
virtual auto index_of(const xtd::any_object &item) const noexcept -> xtd::usize=0
virtual auto count() const noexcept -> xtd::usize=0
Gets the number of elements contained in the xtd::collections::generic::icollection <type_t>.
virtual auto sync_root() const noexcept -> const xtd::object &=0
virtual auto remove(const xtd::any_object &item) -> bool=0
virtual auto remove_at(xtd::usize index) -> void=0
virtual auto insert(xtd::usize index, const xtd::any_object &item) -> void=0
virtual auto get_enumerator() const -> xtd::collections::generic::enumerator< xtd::any_object >=0
virtual auto is_read_only() const noexcept -> bool=0
Contains xtd::collections::generic::icollection <type_t> interface.
constexpr auto npos
Represents a value that is not a valid position in a collection.
Definition npos.hpp:26
std::size_t usize
Represents an unsigned size of any object in bytes.
Definition usize.hpp:22
Contains xtd::collections::generic::extensions::list_common class.
The xtd::extensions namespace contains interface extensions.
Definition collection_common.hpp:14
The xtd::collections::generic namespace contains interfaces and classes that define generic collectio...
Definition comparer.hpp:16
The xtd::collections namespace contains interfaces and classes that define various collections of obj...
Definition any_pair.hpp:10
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
Contains xtd::npos constant.
Supports a simple iteration over a generic collection.
Definition enumerator.hpp:39
Represents a type that can be used to index a collection either from the beginning or the end.
Definition index.hpp:38
Contains xtd::usize type.