33 template<
typename type_t>
57 for (
const auto& item : items)
62 for (
const auto& item : collection)
74 return items_.count();
81 [[nodiscard]]
auto is_read_only() const noexcept ->
bool override {
return false;}
97 [[nodiscard]]
auto is_synchronized() const noexcept ->
bool override {
return true;}
114 items_.copy_to(
array, array_index);
122 items_.enqueue(item);
131 return items.get_enumerator();
139 return items_.to_array();
145 [[nodiscard]]
auto to_string() const noexcept ->
xtd::
string override {
154 return items_.try_dequeue(result);
163 return items_.try_peek(result);
170 [[nodiscard]]
auto contains(
const_reference item)
const noexcept ->
bool override {
return false;}
172 [[nodiscard]]
auto sync_root() const noexcept -> const
object&
override {
return items_;}
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:64
auto is_synchronized() const noexcept -> bool override
Gets a value indicating whether access to the xtd::collections::concurrent::concurrent_queue <type_t>...
Definition concurrent_queue.hpp:97
auto try_peek(reference result) const -> bool
Tries to return an object from the beginning of the xtd::collections::concurrent::concurrent_queue <t...
Definition concurrent_queue.hpp:161
const value_type & const_reference
Represents the const reference of list value type.
Definition concurrent_queue.hpp:44
value_type & reference
Represents the reference of list value type.
Definition concurrent_queue.hpp:42
auto is_read_only() const noexcept -> bool override
Gets a value indicating whether the xtd::collections::concurrent::concurrent_queue <type_t> is read-o...
Definition concurrent_queue.hpp:81
typename iproducer_consumer_collection< type_t >::value_type value_type
Represents the concurrent bag value type.
Definition concurrent_queue.hpp:40
auto count() const noexcept -> xtd::usize override
Gets the number of elements contained in the xtd::collections::generic::icollection.
Definition concurrent_queue.hpp:72
xtd::collections::generic::queue< value_type > collection_type
Represents the concurrent bag collection type.
Definition concurrent_queue.hpp:46
auto get_enumerator() const -> xtd::collections::generic::enumerator< value_type > override
Returns an enumerator that iterates through a collection.
Definition concurrent_queue.hpp:128
auto to_string() const noexcept -> xtd::string override
Returns a xtd::string that represents the current object.
Definition concurrent_queue.hpp:145
concurrent_queue(std::initializer_list< type_t > items)
Constructs the container with the contents of the specified initializer list, and allocator.
Definition concurrent_queue.hpp:56
concurrent_queue(const xtd::collections::generic::ienumerable< value_type > &collection)
Initializes a new instance of the xtd::collections::concurrent::concurrent_queue <type_t> class that ...
Definition concurrent_queue.hpp:61
auto to_array() const -> xtd::array< value_type > override
Copies the elements contained in the xtd::collections::concurrent::concurrent_queue <type_t> to a new...
Definition concurrent_queue.hpp:137
virtual auto enqueue(const_reference item) -> void
Adds an item to the end of the xtd::collections::concurrent::concurrent_queue <type_t>.
Definition concurrent_queue.hpp:120
virtual auto try_dequeue(reference result) -> bool
Tries to remove and return the object at the beginning of the concurrent queue.
Definition concurrent_queue.hpp:152
auto clear() -> void override
Removes all items from the xtd::collections::generic::icollection <type_t>.
Definition concurrent_queue.hpp:103
auto copy_to(xtd::array< value_type > &array, xtd::usize array_index) const -> void override
Copies the elements of the xtd::collections::concurrent::concurrent_queue <type_t> to an xtd::array,...
Definition concurrent_queue.hpp:112
concurrent_queue()=default
Initializes a new instance of the xtd::collections::concurrent::concurrent_queue <type_t> class.
Defines methods to manipulate thread-safe collections intended for producer/consumer usage....
Definition iproducer_consumer_collection.hpp:30
virtual auto sync_root() const noexcept -> const object &=0
Gets an object that can be used to synchronize access to the the xtd::collections::generic::icollecti...
virtual auto to_array() const -> xtd::array< type_t >=0
Copies the elements contained in the xtd::collections::concurrent::iproducer_consumer_collection <typ...
typename xtd::collections::generic::ienumerable< type_t >::value_type value_type
Represents the xtd::collections::generic::icollection value type.
Definition icollection.hpp:51
Exposes the enumerator, which supports a simple iteration over a collection of a specified type.
Definition ienumerable.hpp:40
Represents a first-in, first-out collection of objects.
Definition queue.hpp:47
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:45
Contains xtd::collections::generic::queue <value_t> class.
generic::enumerator< xtd::any_object > enumerator
Supports a simple iteration over a non-generic collection.
Definition enumerator.hpp:28
#define lock_guard_(object)
The lock_guard_ keyword marks a statement block_guard as a critical section by obtaining the mutual-e...
Definition lock_guard.hpp:65
std::size_t usize
Represents an unsigned size of any object in bytes.
Definition usize.hpp:22
Contains xtd::collections::concurrent::iproducer_consumer_collection <type_t> interface.
Provides several thread-safe collection classes that should be used in place of the corresponding typ...
Definition concurrent_bag.hpp:20
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
const type_t & const_reference
Represents the read_only_span const reference type.
Definition read_only_span.hpp:69
Contains xtd::object class.
Contains xtd::threading::lock_guard class.
Contains __ and unused_ keywords.