Provides the base interface for the abstraction of sets.
Public Aliases | |
| using | key_type |
| Represents the set key type. | |
| using | value_type |
| Represents the set value type. | |
| using | iterator |
| Represents the iterator of xtd::collections::generic::ienumerable value type. | |
| using | const_iterator |
| Represents the const iterator of xtd::collections::generic::ienumerable value type. | |
Public Properties | |
| virtual auto | count () const noexcept -> xtd::size=0 |
| Gets the number of elements contained in the xtd::collections::generic::icollection <type_t>. | |
| virtual auto | is_read_only () const noexcept -> bool=0 |
| Gets a value indicating whether the xtd::collections::generic::icollection <type_t> is read-only. | |
| virtual auto | is_synchronized () const noexcept -> bool=0 |
| Gets a value indicating whether access to the xtd::collections::generic::icollection <type_t> is synchronized (thread safe). | |
| virtual auto | sync_root () const noexcept -> const xtd::object &=0 |
| Gets an object that can be used to synchronize access to the the xtd::collections::generic::icollection <type_t>. | |
Public Methods | |
| virtual auto | add (const type_t &item) noexcept -> bool=0 |
| Adds an element to the current set and returns a value to indicate if the element was successfully added. | |
| virtual auto | clear () -> void=0 |
| Removes all items from the xtd::collections::generic::iset <type_t>. | |
| virtual auto | contains (const type_t &item) const noexcept -> bool=0 |
| Determines whether the xtd::collections::generic::iset <type_t> contains a specific value. | |
| virtual auto | copy_to (xtd::array< type_t > &array, xtd::size array_index) const -> void=0 |
| Copies the elements of the xtd::collections::generic::iset <type_t> to an xtd::array, starting at a particular xtd::array index. | |
| virtual auto | except_with (const xtd::collections::generic::ienumerable< type_t > &other) noexcept -> void=0 |
| Removes all elements in the specified collection from the current set. | |
| virtual auto | intersect_with (const xtd::collections::generic::ienumerable< type_t > &other) noexcept -> void=0 |
| Modifies the current set so that it contains only elements that are also in a specified collection. | |
| virtual auto | is_proper_subset_of (const xtd::collections::generic::ienumerable< type_t > &other) const noexcept -> bool=0 |
| Determines whether the current set is a proper (strict) superset of a specified collection. | |
| virtual auto | is_proper_superset_of (const xtd::collections::generic::ienumerable< type_t > &other) const noexcept -> bool=0 |
| Determines whether the current set is a proper (strict) superset of a specified collection. | |
| virtual auto | is_subset_of (const xtd::collections::generic::ienumerable< type_t > &other) const noexcept -> bool=0 |
| Determines whether a set is a subset of a specified collection. | |
| virtual auto | is_superset_of (const xtd::collections::generic::ienumerable< type_t > &other) const noexcept -> bool=0 |
| Determines whether a set is a superset of a specified collection. | |
| virtual auto | overlaps (const xtd::collections::generic::ienumerable< type_t > &other) const noexcept -> bool=0 |
| Determines whether the current set overlaps with the specified collection. | |
| virtual auto | remove (const type_t &item) -> bool=0 |
| Removes the first occurrence of a specific object from the xtd::collections::generic::iset <type_t>. | |
| virtual auto | set_equals (const xtd::collections::generic::ienumerable< type_t > &other) const noexcept -> bool=0 |
| Determines whether the current set and the specified collection contain the same elements. | |
| virtual auto | symetric_excep_with (const xtd::collections::generic::ienumerable< type_t > &other) noexcept -> void=0 |
| Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both. | |
| virtual auto | union_with (const xtd::collections::generic::ienumerable< type_t > &other) noexcept -> void=0 |
| Modifies the current set so that it contains all elements that are present in the current set, in the specified collection, or in both. | |
Additional Inherited Members | |
| using | value_type |
| Represents the xtd::collections::generic::ienumerable value type. | |
| using | iterator |
| Represents the iterator of xtd::collections::generic::ienumerable value type. | |
| using | const_iterator |
| Represents the const iterator of xtd::collections::generic::ienumerable value type. | |
| using | iterator |
| Represents the iterator of enumerable value type. | |
| using | const_iterator |
| Represents the const iterator of enumerable value type. | |
| using | enumerable_type |
| Represents the ienumerable enumerable type. | |
| using | source_type |
| Represents the ienumerable source type. | |
| using | ienumerable |
| Represents the ienumerable value type. | |
| using | list |
| Represents the list value type. | |
| virtual auto | get_enumerator () const -> xtd::collections::generic::enumerator< type_t >=0 |
| Returns an enumerator that iterates through a collection. | |
| virtual auto | begin () const -> const_iterator |
| Returns an iterator to the first element of the enumerable. | |
| virtual auto | begin () -> iterator |
| Returns an iterator to the first element of the enumerable. | |
| virtual auto | cbegin () const -> const_iterator |
| Returns an iterator to the first element of the enumerable. | |
| virtual auto | cend () const -> const_iterator |
| Returns an iterator to the element following the last element of the enumerable. | |
| virtual auto | end () const -> const_iterator |
| Returns an iterator to the element following the last element of the enumerable. | |
| virtual auto | end () -> iterator |
| Returns an iterator to the element following the last element of the enumerable. | |
| auto | aggregate (const std::function< type_t(const type_t &, const type_t &)> &func) const -> type_t |
| Applies an accumulator function over a sequence. | |
| auto | aggregate (const type_t &seed, const std::function< type_t(const type_t &, const type_t &)> &func) const -> type_t |
| Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value. | |
| auto | aggregate (const accumulate_t &seed, const std::function< accumulate_t(const accumulate_t &, const type_t &)> &func) const -> accumulate_t |
| Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value. | |
| auto | aggregate (const type_t &seed, const std::function< type_t(const type_t &, const type_t &)> &func, const std::function< type_t(const type_t &)> &result_selector) const -> type_t |
| Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value, and the specified function is used to select the result value. | |
| auto | aggregate (const accumulate_t &seed, const std::function< accumulate_t(const accumulate_t &, const type_t &)> &func, const std::function< result_t(const accumulate_t &)> &result_selector) const -> result_t |
| Applies an accumulator function over a sequence. The specified seed value is used as the initial accumulator value, and the specified function is used to select the result value. | |
| auto | all (const std::function< bool(const type_t &)> &predicate) const -> bool |
| Determines whether all elements of a sequence satisfy a condition. | |
| auto | any () const noexcept -> bool |
| Determines whether a sequence contains any elements. | |
| auto | any (const std::function< bool(const type_t &)> &predicate) const -> bool |
| Determines whether any element of a sequence satisfies a condition. | |
| auto | append (const type_t &element) const noexcept |
| Appends a value to the end of the sequence. | |
| auto | as_enumerable () const noexcept |
| Returns the input typed as xtd::collections::generic::ienumerable <type_t>. | |
| auto | average () const noexcept |
| Computes the average of a sequence of source_t values. | |
| auto | cast () const noexcept |
| Casts the elements of an xtd::collections::generic::ienumerable to the specified type. | |
| auto | chunk (size_t size) const |
| Splits the elements of a sequence into chunks of size at most size. | |
| auto | concat (const ienumerable< type_t > &second) const noexcept |
| Concatenates two sequences. | |
| auto | contains (const type_t &value) const noexcept -> bool |
| Determines whether a sequence contains a specified element by using the default equality comparer. | |
| auto | contains (const type_t &value, const xtd::collections::generic::iequality_comparer< type_t > &comparer) const noexcept -> bool |
| Determines whether a sequence contains a specified element by using a specified equality comparer. | |
| auto | count () const noexcept -> xtd::size |
| Returns the number of elements in current sequence. | |
| auto | count (const std::function< bool(const type_t &)> &predicate) const noexcept -> xtd::size |
| Returns a number that represents how many elements in the specified sequence satisfy a condition. | |
| auto | count (const type_t &value) const noexcept -> xtd::size |
| Returns the number of elements with the specified value. | |
| auto | count_by (const std::function< key_t(const type_t &)> &key_selector) const noexcept |
| Returns the count of elements in the current sequence grouped by key. | |
| auto | count_by (const std::function< key_t(const type_t &)> &key_selector, const iequality_comparer< key_t > &key_comparer) const noexcept |
| Returns the count of elements in the current sequence grouped by key. | |
| auto | default_if_empty () const noexcept |
| Returns the elements of the specified sequence or the type parameter's default value in a singleton collection if the current sequence is empty. | |
| auto | default_if_empty (const type_t &default_value) const noexcept |
| Returns the elements of the specified sequence or the specified value in a singleton collection if the current sequence is empty. | |
| auto | distinct () const noexcept |
| Returns distinct elements from a sequence by using the default equality comparer to compare values. | |
| auto | distinct (const xtd::collections::generic::iequality_comparer< type_t > &comparer) const noexcept |
| Returns distinct elements from a sequence by using a specified xtd::collections::generic::iequality_comparer <type_t> to compare values. | |
| auto | first_or_default (const std::function< bool(const type_t &)> &predicate, const type_t &default_value) const noexcept -> type_t |
| Returns the first element of the sequence that satisfies a condition, or a specified default value if no such element is found. | |
| auto | first_or_default (const std::function< bool(const type_t &)> &predicate) const noexcept -> type_t |
| Returns the first element of the sequence that satisfies a condition or a default value if no such element is found. | |
| auto | first_or_default (const type_t default_value) const noexcept -> type_t |
| Returns the first element of the sequence that satisfies a condition or a default value if no such element is found. | |
| auto | first_or_default () const noexcept -> type_t |
| Returns the first element of the sequence that satisfies a condition or a default value if no such element is found. | |
| auto | order () |
| Sorts the elements of a sequence in ascending order. | |
| auto | order (const xtd::collections::generic::icomparer< type_t > &comparer) |
| Sorts the elements of a sequence in ascending order. | |
| auto | order_by (const std::function< type_t(const type_t &)> &key_selector) const |
| Sorts the elements of a sequence in ascending order according to a key. | |
| auto | order_by (const std::function< key_t(const type_t &)> &key_selector) const |
| Sorts the elements of a sequence in ascending order according to a key. | |
| auto | order_by_descending (const std::function< key_t(const type_t &)> &key_selector) const |
| Sorts the elements of a sequence in descending order according to a key. | |
| auto | order_by_descending (const std::function< type_t(const type_t &)> &key_selector) const |
| Sorts the elements of a sequence in descending order according to a key. | |
| auto | select (const std::function< result_t(const type_t &)> &selector) const |
| Projects each element of a sequence into a new form. | |
| auto | select (const std::function< type_t(const type_t &)> &selector) const |
| Projects each element of a sequence into a new form. | |
| auto | select (const std::function< result_t(const type_t &, size_t index)> &selector) const |
| Projects each element of a sequence into a new form by incorporating the element's index. | |
| auto | select (const std::function< type_t(const type_t &, size_t index)> &selector) const |
| Projects each element of a sequence into a new form by incorporating the element's index. | |
| auto | to_array () const noexcept -> xtd::array< type_t > |
| Creates a xtd::array <type_t> from an xtd::collections::generic::ienumerable <type_t>. | |
| auto | to_list () const noexcept -> list< type_t > |
| Creates a xtd::collections::generic::list <type_t> from an xtd::collections::generic::ienumerable <type_t>. | |
| auto | where (const std::function< bool(const type_t &)> &predicate) const |
| Filters a sequence of values based on a predicate. | |
| auto | where (const std::function< bool(const type_t &, size_t)> &predicate) const |
| Filters a sequence of values based on a predicate. Each element's index is used in the logic of the predicate function. | |
| static auto | to_const_iterator (typename source_collection_t::const_iterator &value, const source_collection_t &source_collection, const target_collection_t &target_collection) noexcept -> typename target_collection_t::const_iterator |
| Converts source iterator to target iterator. | |
| static auto | to_const_iterator (typename source_collection_t::const_iterator &value, source_collection_t &source_collection, target_collection_t &target_collection) noexcept -> typename target_collection_t::const_iterator |
| Converts source iterator to target iterator. | |
| static auto | to_iterator (typename source_collection_t::const_iterator &value, const source_collection_t &source_collection, const target_collection_t &target_collection) noexcept -> typename target_collection_t::const_iterator |
| Converts source iterator to target iterator. | |
| static auto | to_iterator (typename source_collection_t::iterator &value, const source_collection_t &source_collection, const target_collection_t &target_collection) noexcept -> typename target_collection_t::iterator |
| Converts source iterator to target iterator. | |
| static auto | to_iterator (typename source_collection_t::const_iterator &value, source_collection_t &source_collection, target_collection_t &target_collection) noexcept -> typename target_collection_t::const_iterator |
| Converts source iterator to target iterator. | |
| static auto | to_iterator (typename source_collection_t::iterator &value, source_collection_t &source_collection, target_collection_t &target_collection) noexcept -> typename target_collection_t::iterator |
| Converts source iterator to target iterator. | |
| using xtd::collections::generic::iset< type_t >::key_type |
Represents the set key type.
| using xtd::collections::generic::iset< type_t >::value_type |
Represents the set value type.
| using xtd::collections::generic::iset< type_t >::iterator |
Represents the iterator of xtd::collections::generic::ienumerable value type.
| using xtd::collections::generic::iset< type_t >::const_iterator |
Represents the const iterator of xtd::collections::generic::ienumerable value type.
|
pure virtualnoexcept |
Gets the number of elements contained in the xtd::collections::generic::icollection <type_t>.
Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtualnoexcept |
Gets a value indicating whether the xtd::collections::generic::icollection <type_t> is read-only.
true if the xtd::collections::generic::icollection <type_t> is read-only; otherwise, false. true, even though individual array elements can be modified.
|
pure virtualnoexcept |
Gets a value indicating whether access to the xtd::collections::generic::icollection <type_t> is synchronized (thread safe).
true if access to the xtd::collections::generic::icollection <type_t> is synchronized (thread safe); otherwise, false. synchronized method, which provides a synchronized wrapper around the underlying collection.
|
pure virtualnoexcept |
Gets an object that can be used to synchronize access to the the xtd::collections::generic::icollection <type_t>.
sync_root property. synchronized method, which provides a synchronized wrapper around the underlying collection. However, derived classes can provide their own synchronized version of the collection using the xtd::collections::generic::icollection::sync_root property. The synchronizing code must perform operations on the xtd::collections::generic::icollection::sync_root property of the collection, not directly on the collection. This ensures proper operation of collections that are derived from other objects. Specifically, it maintains proper synchronization with other threads that might be simultaneously modifying the collection instance. synchronized method on a collection, the expected usage for the xtd::collections::generic::icollection::sync_root looks as follows:
|
pure virtualnoexcept |
Adds an element to the current set and returns a value to indicate if the element was successfully added.
| item | The element to add to the set. |
true if the element is added to the set; false if the element is already in the set. Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtual |
Removes all items from the xtd::collections::generic::iset <type_t>.
| xtd::not_supported_exception | The xtd::collections::generic::iset <type_t> is read-only. |
Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtualnoexcept |
Determines whether the xtd::collections::generic::iset <type_t> contains a specific value.
| item | The object to locate in the xtd::collections::generic::iset <type_t>. |
true if item is found in the xtd::collections::generic::iset <type_t>; otherwise, false. Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtual |
Copies the elements of the xtd::collections::generic::iset <type_t> to an xtd::array, starting at a particular xtd::array index.
| array | The one-dimensional xtd::array that is the destination of the elements copied from xtd::collections::generic::iset <type_t>. The xtd::array must have zero-based indexing. |
| array_index | The zero-based index in array at which copying begins. |
| xtd::argument_exception | The number of elements in the source xtd::collections::generic::iset <type_t> is greater than the available space from `array_index` to the end of the destination `array`. |
Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtualnoexcept |
Removes all elements in the specified collection from the current set.
| other | The collection of items to remove from the set. |
n) operation, where n is the number of elements in the other parameter. Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtualnoexcept |
Modifies the current set so that it contains only elements that are also in a specified collection.
| other | The collection to compare to the current set. |
other. Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtualnoexcept |
Determines whether the current set is a proper (strict) superset of a specified collection.
| other | The collection to compare to the current set. |
true if the current set is a proper superset of other; otherwise, false. Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtualnoexcept |
Determines whether the current set is a proper (strict) superset of a specified collection.
| other | The collection to compare to the current set. |
true if the current set is a proper superset of other; otherwise, false. Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtualnoexcept |
Determines whether a set is a subset of a specified collection.
| other | The collection to compare to the current set. |
true if the current set is a subset of other; otherwise, false. Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtualnoexcept |
Determines whether a set is a superset of a specified collection.
| other | The collection to compare to the current set. |
true if the current set is a superset of other; otherwise, false. Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtualnoexcept |
Determines whether the current set overlaps with the specified collection.
| other | The collection to compare to the current set. |
true if the current set and other share at least one common element; otherwise, false. Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtual |
Removes the first occurrence of a specific object from the xtd::collections::generic::iset <type_t>.
| item | The object to remove from the xtd::collections::generic::iset <type_t>. |
true if item was successfully removed from the xtd::collections::generic::iset <type_t>; otherwise, false. This method also returns false if item is not found in the original xtd::collections::generic::iset <type_t>. | xtd::not_supported_exception | The xtd::collections::generic::iset <type_t> is read-only. |
Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtualnoexcept |
Determines whether the current set and the specified collection contain the same elements.
| other | The collection to compare to the current set. |
true if the current set is equal to other; otherwise, false. Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtualnoexcept |
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
| other | The collection to compare to the current set. |
other are ignored. Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.
|
pure virtualnoexcept |
Modifies the current set so that it contains all elements that are present in the current set, in the specified collection, or in both.
| other | The collection to compare to the current set. |
other are ignored. Implemented in xtd::collections::generic::hash_set< type_t, hasher_t, equator_t, allocator_t >.