Represents a thread-safe, unordered collection of objects.
Public Aliases | |
| using | value_type |
| Represents the concurrent bag value type. | |
| using | reference |
| Represents the reference of list value type. | |
| using | const_reference |
| Represents the const reference of list value type. | |
| using | collection_type |
| Represents the concurrent bag collection type. | |
| using | local_storage_type |
| Represents the concurrent bag collection type. | |
| using | storage_type |
| Represents the concurrent bag collection type. | |
Public Methods | |
| auto | add (const_reference item) -> void override |
| Adds an item to the xtd::collections::concurrent::concurrent_bag <type_t>. | |
| auto | copy_to (xtd::array< value_type > &array, xtd::usize array_index) const -> void override |
| Copies the elements of the xtd::collections::concurrent::concurrent_bag <type_t> to an xtd::array, starting at a particular xtd::array index. | |
| auto | get_enumerator () const -> xtd::collections::generic::enumerator< value_type > override |
| Returns an enumerator that iterates through a collection. | |
| auto | to_array () const -> xtd::array< value_type > override |
| Copies the elements contained in the xtd::collections::concurrent::concurrent_bag <type_t> to a new array. | |
| auto | to_string () const noexcept -> xtd::string override |
| Returns a xtd::string that represents the current object. | |
| auto | try_add (const_reference item) -> bool override |
| Attempts to add an object to the xtd::collections::concurrent::concurrent_bag <type_t>. | |
| auto | try_peek (reference item) const -> bool |
| Attempts to return an object from the xtd::collections::concurrent::concurrent_bag <type_t> without removing it. | |
| auto | try_take (reference item) -> bool override |
| Attempts to remove and return an object from the xtd::collections::concurrent::concurrent <type_t>. | |
Public Conctructors | |
| concurrent_bag ()=default | |
| Initializes a new instance of the xtd::collections::concurrent::concurrent_bag <type_t> class. | |
| concurrent_bag (std::initializer_list< type_t > items) | |
| Constructs the container with the contents of the specified initializer list, and allocator. | |
| concurrent_bag (const xtd::collections::generic::ienumerable< value_type > &collection) | |
| Initializes a new instance of the xtd::collections::concurrent::concurrent_bag <type_t> class that contains elements copied from the specified collection. | |
Public Properties | |
| auto | count () const noexcept -> xtd::usize override |
| Gets the number of elements contained in the xtd::collections::generic::icollection. | |
| auto | is_empty () const noexcept -> bool |
| Gets a value indicating whether the xtd::collections::concurrent::concurrent_bag <type_t> is emtpy. | |
| auto | is_read_only () const noexcept -> bool override |
| Gets a value indicating whether the xtd::collections::concurrent::concurrent_bag <type_t> is read-only. | |
| auto | is_synchronized () const noexcept -> bool override |
| Gets a value indicating whether access to the xtd::collections::concurrent::concurrent_bag <type_t> is synchronized (thread safe). | |
Additional Inherited Members | |
| object ()=default | |
| Create a new instance of the ultimate base class object. | |
| virtual auto | equals (const object &obj) const noexcept -> bool |
| Determines whether the specified object is equal to the current object. | |
| virtual auto | get_hash_code () const noexcept -> xtd::usize |
| Serves as a hash function for a particular type. | |
| virtual auto | get_type () const noexcept -> type_object |
| Gets the type of the current instance. | |
| template<typename object_t> | |
| auto | memberwise_clone () const -> xtd::unique_ptr_object< object_t > |
| Creates a shallow copy of the current object. | |
| virtual auto | copy_to (xtd::array< type_t > &array, xtd::usize array_index) const -> void=0 |
| Copies the elements of the xtd::collections::generic::icollection <type_t> to an xtd::array, starting at a particular xtd::array index. | |
| virtual auto | try_add (const type_t &item) -> bool=0 |
| Attempts to add an object to the xtd::collections::concurrent::iproducer_consumer_collection <type_t>. | |
| virtual auto | try_take (type_t &item) -> bool=0 |
| Attempts to remove and return an object from the xtd::collections::concurrent::iproducer_consumer_collection <type_t>. | |
| template<typename object_a_t, typename object_b_t> | |
| static auto | equals (const object_a_t &object_a, const object_b_t &object_b) noexcept -> bool |
| Determines whether the specified object instances are considered equal. | |
| template<typename object_a_t, typename object_b_t> | |
| static auto | reference_equals (const object_a_t &object_a, const object_b_t &object_b) noexcept -> bool |
| Determines whether the specified object instances are the same instance. | |
| using xtd::collections::concurrent::concurrent_bag< type_t >::value_type |
Represents the concurrent bag value type.
| using xtd::collections::concurrent::concurrent_bag< type_t >::reference |
Represents the reference of list value type.
| using xtd::collections::concurrent::concurrent_bag< type_t >::const_reference |
Represents the const reference of list value type.
| using xtd::collections::concurrent::concurrent_bag< type_t >::collection_type |
Represents the concurrent bag collection type.
| using xtd::collections::concurrent::concurrent_bag< type_t >::local_storage_type |
Represents the concurrent bag collection type.
| using xtd::collections::concurrent::concurrent_bag< type_t >::storage_type |
Represents the concurrent bag collection type.
|
default |
Initializes a new instance of the xtd::collections::concurrent::concurrent_bag <type_t> class.
|
inline |
Constructs the container with the contents of the specified initializer list, and allocator.
| items | The initializer list to initialize the elements of the container with. |
|
inline |
Initializes a new instance of the xtd::collections::concurrent::concurrent_bag <type_t> class that contains elements copied from the specified collection.
|
inlinenodiscardoverridevirtualnoexcept |
Gets the number of elements contained in the xtd::collections::generic::icollection.
Implements xtd::collections::concurrent::iproducer_consumer_collection< type_t >.
|
inlinenodiscardnoexcept |
Gets a value indicating whether the xtd::collections::concurrent::concurrent_bag <type_t> is emtpy.
|
inlinenodiscardoverridenoexcept |
Gets a value indicating whether the xtd::collections::concurrent::concurrent_bag <type_t> is read-only.
|
inlinenodiscardoverridevirtualnoexcept |
Gets a value indicating whether access to the xtd::collections::concurrent::concurrent_bag <type_t> is synchronized (thread safe).
Implements xtd::collections::concurrent::iproducer_consumer_collection< type_t >.
|
inlineoverride |
Adds an item to the xtd::collections::concurrent::concurrent_bag <type_t>.
| item | The object to add to the xtd::collections::concurrent::concurrent_bag <type_t>. |
| xtd::not_supported_exception | The xtd::collections::concurrent::concurrent_bag <type_t> is read-only. |
|
inlineoverride |
Copies the elements of the xtd::collections::concurrent::concurrent_bag <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::concurrent::concurrent_bag <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::concurrent::concurrent_bag <type_t> is greater than the available space from `array_index` to the end of the destination `array`. |
|
inlinenodiscardoverridevirtual |
Returns an enumerator that iterates through a collection.
Implements xtd::collections::concurrent::iproducer_consumer_collection< type_t >.
|
inlinenodiscardoverridevirtual |
Copies the elements contained in the xtd::collections::concurrent::concurrent_bag <type_t> to a new array.
Implements xtd::collections::concurrent::iproducer_consumer_collection< type_t >.
|
inlinenodiscardoverridevirtualnoexcept |
Returns a xtd::string that represents the current object.
Reimplemented from xtd::object.
|
inlineoverride |
Attempts to add an object to the xtd::collections::concurrent::concurrent_bag <type_t>.
| item | The object to add to the xtd::collections::concurrent::iproducer_consumer_collection <type_t>. |
|
inline |
Attempts to return an object from the xtd::collections::concurrent::concurrent_bag <type_t> without removing it.
| item | When this method returns, result contains an object from the ConcurrentBag<T> or the default value of T if the operation failed. |
|
inlineoverride |
Attempts to remove and return an object from the xtd::collections::concurrent::concurrent <type_t>.
| item | When this method returns, if the object was removed and returned successfully, item contains the removed object. If no object was available to be removed, the value is unspecified. |