xtd 1.0.0
Loading...
Searching...
No Matches
icollection.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "ienumerable.hpp"
7#define __XTD_CORE_INTERNAL__
9#undef __XTD_CORE_INTERNAL__
10#include "../../object.hpp"
11#include "../../usize.hpp"
12
14namespace xtd {
16 namespace collections {
18 namespace generic {
44 template<typename type_t>
46 public:
48
53
55
59 [[nodiscard]] virtual auto count() const noexcept -> xtd::usize = 0;
60
64 [[nodiscard]] virtual auto is_read_only() const noexcept -> bool = 0;
65
80 [[nodiscard]] virtual auto is_synchronized() const noexcept -> bool = 0;
81
103 [[nodiscard]] virtual auto sync_root() const noexcept -> const xtd::object& = 0;
105
107
112 virtual auto add(const type_t& item) -> void = 0;
113
117 virtual auto clear() -> void = 0;
118
123 [[nodiscard]] virtual auto contains(const type_t& item) const noexcept -> bool = 0;
124
129 virtual auto copy_to(xtd::array<type_t>& array, xtd::usize array_index) const -> void = 0;
130
133 [[nodiscard]] virtual auto get_enumerator() const -> xtd::collections::generic::enumerator<type_t> = 0;
134
141 virtual auto remove(const type_t& item) -> bool = 0;
143 };
144 }
145 }
146}
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:64
Internal collection common definition.
Definition collection_common.hpp:32
Defines methods to manipulate generic collections.
Definition icollection.hpp:45
virtual auto copy_to(xtd::array< xtd::any_object > &array, xtd::usize array_index) const -> void=0
virtual auto sync_root() const noexcept -> const xtd::object &=0
virtual auto get_enumerator() const -> xtd::collections::generic::enumerator< xtd::any_object >=0
virtual auto is_synchronized() const noexcept -> bool=0
virtual auto contains(const xtd::any_object &item) const noexcept -> bool=0
virtual auto remove(const xtd::any_object &item) -> bool=0
virtual auto count() const noexcept -> xtd::usize=0
Gets the number of elements contained in the xtd::collections::generic::icollection <type_t>.
typename xtd::collections::generic::ienumerable< type_t >::value_type value_type
Represents the xtd::collections::generic::icollection value type.
Definition icollection.hpp:51
virtual auto is_read_only() const noexcept -> bool=0
virtual auto add(const xtd::any_object &item) -> void=0
Exposes the enumerator, which supports a simple iteration over a collection of a specified type.
Definition ienumerable.hpp:40
xtd::any_object value_type
Definition ienumerable.hpp:46
Contains xtd::collections::generic::extensions::collection_common class.
Contains xtd::collections::generic::ienumerable <type_t> interface.
std::size_t usize
Represents an unsigned size of any object in bytes.
Definition usize.hpp:22
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::object class.
Supports a simple iteration over a generic collection.
Definition enumerator.hpp:39
Contains xtd::usize type.