Represents a collection of objects.
Classes | |
class | value_type |
Represents the value type of the collection. More... | |
Public Aliases | |
using | allocator_type = std::allocator< value_type > |
Represents the allocator type of the collection. | |
using | size_type = std::size_t |
Represents the size type of the collection. | |
using | difference_type = std::ptrdiff_t |
Represents the pointer difference type of the collection. | |
using | reference = value_type & |
Represents the value type reference of the collection. | |
using | const_reference = const value_type & |
Represents the value type const reference the collection. | |
using | pointer = typename std::allocator_traits< allocator_type >::pointer |
Represents the value type pointer of the collection. | |
using | const_pointer = typename std::allocator_traits< allocator_type >::const_pointer |
Represents the value type const pointer of the collection. | |
using | iterator = typename std::vector< value_type >::iterator |
Represents the iterator type of the collection. | |
using | const_iterator = typename std::vector< value_type >::const_iterator |
Represents the const iterator type of the collection. | |
using | reverse_iterator = typename std::vector< value_type >::reverse_iterator |
Represents the reverse iterator type of the collection. | |
using | const_reverse_iterator = typename std::vector< value_type >::const_reverse_iterator |
Represents the const reverse iterator type of the collection. | |
Public Fields | |
static constexpr xtd::size | npos |
This is a special value equal to the maximum value representable by the type size_t. | |
Public Events | |
event< arranged_element_collection, delegate< void(size_t, type_t &item)> > | item_added |
Occurs when an item is added to the collection. | |
event< arranged_element_collection, delegate< void(size_t, type_t &item)> > | item_updated |
Occurs when an item is updated in the collection. | |
event< arranged_element_collection, delegate< void(size_t, type_t &item)> > | item_removed |
Occurs when an item is removed from the collection. | |
Public Constructors | |
arranged_element_collection (const allocator_type &allocator=allocator_type()) | |
Creates a new object xtd::forms::layout::arranged_element_collection with specified allocator (optional). | |
arranged_element_collection (const std::initializer_list< type_t > &il) | |
Creates a new object xtd::diagnostics::trace_listener_collection with specified initializer list. | |
Public Methods | |
allocator_type | get_allocator () const noexcept |
Returns the associated allocator. | |
reference | at (size_type pos) |
Access specified element with bounds checking. | |
const_reference | at (size_type pos) const |
Access specified element with bounds checking. | |
reference | front () |
Access the first element. | |
const_reference | front () const |
Access the first element. | |
reference | back () |
Access the last element. | |
const_reference | back () const |
Access the last element. | |
pointer | data () |
Direct access to the underlying array. | |
const_pointer | data () const |
Direct access to the underlying array. | |
iterator | begin () noexcept |
Returns an iterator to the beginning. | |
const_iterator | begin () const noexcept |
Returns an iterator to the beginning. | |
const_iterator | cbegin () const noexcept |
Returns an iterator to the beginning. | |
iterator | end () noexcept |
Returns an iterator to the end. | |
const_iterator | end () const noexcept |
Returns an iterator to the end. | |
const_iterator | cend () const noexcept |
Returns an iterator to the end. | |
reverse_iterator | rbegin () noexcept |
Returns a reverse iterator to the end. | |
const_reverse_iterator | rbegin () const noexcept |
Returns a reverse iterator to the end. | |
const_reverse_iterator | crbegin () const noexcept |
Returns a reverse iterator to the end. | |
reverse_iterator | rend () noexcept |
Returns a reverse iterator to the end. | |
const_reverse_iterator | rend () const noexcept |
Returns a reverse iterator to the end. | |
const_reverse_iterator | crend () const noexcept |
Returns a reverse iterator to the end. | |
bool | empty () const noexcept |
Checks whether the container is empty. | |
size_type | size () const noexcept |
Returns the number of elements. | |
size_type | max_size () const noexcept |
Returns the maximum possible number of elements. | |
void | reserve (size_type size) |
Reserves storage. | |
size_type | capacity () const noexcept |
Returns the number of elements that can be held in currently allocated storage. | |
void | shrink_to_fit () |
Reduces memory usage by freeing unused memory. | |
virtual bool | sorted () const noexcept |
Checks whether the container is sorted. | |
virtual void | sorted (bool value) |
Sets the container is sorted. | |
virtual void | clear () noexcept |
clears the contents. | |
virtual iterator | insert (const_iterator pos, const value_type &value) |
Inserts specified element at specified position. | |
virtual iterator | insert (const_iterator pos, value_type &&value) |
Inserts specified element at specified position. | |
virtual void | insert_at (size_t index, const value_type &value) |
Inserts specified element at specified index. | |
template<typename ... args_t> | |
void | emplace (const_iterator pos, args_t &&... args) |
Inserts specified element at specified position. | |
template<typename ... args_t> | |
void | emplace_back (args_t &&... args) |
Adds an element to the end. | |
virtual iterator | erase (iterator pos) |
Erases element at specified position. | |
virtual iterator | erase (const_iterator pos) |
Erases element at specified position. | |
virtual iterator | erase (iterator first, iterator last) |
Erases elements at specified range. | |
virtual iterator | erase (const_iterator first, const_iterator last) |
Erases elements at specified range. | |
virtual void | erase_at (size_t index) |
Erases element at specified index. | |
virtual void | pop_back () |
Removes the last element of the container. | |
virtual void | push_back (const value_type &item) |
Adds an element to the end. | |
virtual void | push_back (value_type &&item) |
Adds an element to the end. | |
virtual void | push_back_range (const arranged_element_collection &collection) |
Adds elements to the end. | |
virtual void | push_back_range (const std::vector< value_type > &collection) |
Adds elements to the end. | |
virtual void | push_back_range (const std::initializer_list< value_type > &collection) |
Adds elements to the end. | |
template<typename collection_t > | |
void | push_back_range (collection_t &&collection) |
Adds elements to the end. | |
template<typename iterator_t > | |
void | push_back_range (iterator_t begin, iterator_t end) |
Adds elements to the end. | |
virtual void | sort () |
Sorts the content. | |
std::vector< type_t > | to_array () const noexcept |
Gets an array with the elements of the container. | |
std::vector< type_t > | to_vector () const noexcept |
Gets an array with the elements of the container. | |
Public Operators | |
reference | operator[] (size_type pos) |
Access specified element. | |
const_reference | operator[] (size_type pos) const |
Access specified element. | |
Protected Methods | |
virtual void | on_item_added (size_t index, type_t &item) |
Raises the xtd::forms::layout::arranged_element_collection::item_added event. | |
virtual void | on_item_updated (size_t index, type_t &item) |
Raises the xtd::forms::layout::arranged_element_collection::item_updated event. | |
virtual void | on_item_removed (size_t index, type_t &item) |
Raises the xtd::forms::layout::arranged_element_collection::item_removed event. | |
Additional Inherited Members | |
Public Member Functions inherited from xtd::object | |
object ()=default | |
Create a new instance of the ultimate base class object. | |
virtual bool | equals (const object &obj) const noexcept |
Determines whether the specified object is equal to the current object. | |
virtual size_t | get_hash_code () const noexcept |
Serves as a hash function for a particular type. | |
virtual type_object | get_type () const noexcept |
Gets the type of the current instance. | |
template<typename object_t > | |
xtd::uptr< object_t > | memberwise_clone () const |
Creates a shallow copy of the current object. | |
virtual xtd::string | to_string () const noexcept |
Returns a xtd::string that represents the current object. | |
Static Public Member Functions inherited from xtd::object | |
template<typename object_a_t , typename object_b_t > | |
static bool | equals (const object_a_t &object_a, const object_b_t &object_b) noexcept |
Determines whether the specified object instances are considered equal. | |
template<typename object_a_t , typename object_b_t > | |
static bool | reference_equals (const object_a_t &object_a, const object_b_t &object_b) noexcept |
Determines whether the specified object instances are the same instance. | |
using xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::allocator_type = std::allocator<value_type> |
Represents the allocator type of the collection.
using xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::size_type = std::size_t |
Represents the size type of the collection.
using xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::difference_type = std::ptrdiff_t |
Represents the pointer difference type of the collection.
using xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::reference = value_type& |
Represents the value type reference of the collection.
using xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::const_reference = const value_type& |
Represents the value type const reference the collection.
using xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::pointer = typename std::allocator_traits<allocator_type>::pointer |
Represents the value type pointer of the collection.
using xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::const_pointer = typename std::allocator_traits<allocator_type>::const_pointer |
Represents the value type const pointer of the collection.
using xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::iterator = typename std::vector<value_type>::iterator |
Represents the iterator type of the collection.
using xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::const_iterator = typename std::vector<value_type>::const_iterator |
Represents the const iterator type of the collection.
using xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::reverse_iterator = typename std::vector<value_type>::reverse_iterator |
Represents the reverse iterator type of the collection.
using xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::const_reverse_iterator = typename std::vector<value_type>::const_reverse_iterator |
Represents the const reverse iterator type of the collection.
|
inlineexplicit |
Creates a new object xtd::forms::layout::arranged_element_collection with specified allocator (optional).
allocator | The allocator associate to the collection (optional). |
|
inline |
Creates a new object xtd::diagnostics::trace_listener_collection with specified initializer list.
il | The initializer list that contains items to fill the collection. |
|
inlinenoexcept |
Returns the associated allocator.
|
inline |
Access specified element with bounds checking.
pos | The position of the element to return. |
std::out_of_range | pos is greater than arranged_element_collection::size. |
|
inline |
Access specified element with bounds checking.
pos | The position of the element to return. |
std::out_of_range | pos is greater than arranged_element_collection::size. |
|
inline |
Access the first element.
|
inline |
Access the first element.
|
inline |
Access the last element.
|
inline |
Access the last element.
|
inline |
Direct access to the underlying array.
|
inline |
Direct access to the underlying array.
|
inlinenoexcept |
Returns an iterator to the beginning.
|
inlinenoexcept |
Returns an iterator to the beginning.
|
inlinenoexcept |
Returns an iterator to the beginning.
|
inlinenoexcept |
Returns an iterator to the end.
|
inlinenoexcept |
Returns an iterator to the end.
|
inlinenoexcept |
Returns an iterator to the end.
|
inlinenoexcept |
Returns a reverse iterator to the end.
|
inlinenoexcept |
Returns a reverse iterator to the end.
|
inlinenoexcept |
Returns a reverse iterator to the end.
|
inlinenoexcept |
Returns a reverse iterator to the end.
|
inlinenoexcept |
Returns a reverse iterator to the end.
|
inlinenoexcept |
Returns a reverse iterator to the end.
|
inlinenoexcept |
Checks whether the container is empty.
|
inlinenoexcept |
Returns the number of elements.
|
inlinenoexcept |
Returns the maximum possible number of elements.
|
inline |
Reserves storage.
|
inlinenoexcept |
Returns the number of elements that can be held in currently allocated storage.
|
inline |
Reduces memory usage by freeing unused memory.
|
inlinevirtualnoexcept |
Checks whether the container is sorted.
|
inlinevirtual |
Sets the container is sorted.
value | true if container is sorted; otherwise false. |
|
inlinevirtualnoexcept |
clears the contents.
|
inlinevirtual |
Inserts specified element at specified position.
pos | The iterator before which the content will be inserted. pos may be the arranged_element_collection::end iterator. |
value | The element to insert. |
Reimplemented in xtd::forms::control::control_collection.
|
inlinevirtual |
Inserts specified element at specified position.
pos | The iterator before which the content will be inserted. pos may be the arranged_element_collection::end iterator. |
value | The element to insert. |
|
inlinevirtual |
Inserts specified element at specified index.
index | The index before which the content will be inserted. |
value | The element to insert. |
Reimplemented in xtd::forms::control::control_collection.
|
inline |
Inserts specified element at specified position.
pos | The iterator before which the content will be inserted. pos may be the arranged_element_collection::end iterator. |
args | The arguments to forward to the constructor of the element |
|
inline |
Adds an element to the end.
args | The arguments to forward to the constructor of the element |
|
inlinevirtual |
Erases element at specified position.
pos | The iterator which the content will be erased. |
|
inlinevirtual |
Erases element at specified position.
pos | The iterator which the content will be erased. |
|
inlinevirtual |
Erases elements at specified range.
first | The first iterator range which the content will be erased. |
first | The last iterator range which the content will be erased. |
|
inlinevirtual |
Erases elements at specified range.
first | The first iterator range which the content will be erased. |
first | The last iterator range which the content will be erased. |
|
inlinevirtual |
Erases element at specified index.
pos | The index which the content will be erased. |
|
inlinevirtual |
Removes the last element of the container.
|
inlinevirtual |
Adds an element to the end.
item | The element to add. |
Reimplemented in xtd::forms::control::control_collection.
|
inlinevirtual |
Adds an element to the end.
item | The element to add. |
|
inlinevirtual |
|
inlinevirtual |
Adds elements to the end.
collection | The elements to add. |
|
inlinevirtual |
Adds elements to the end.
collection | The elements to add. |
|
inline |
Adds elements to the end.
collection | The elements to add. |
|
inline |
Adds elements to the end.
collection | The elements to add. |
|
inlinevirtual |
Sorts the content.
|
inlinenoexcept |
Gets an array with the elements of the container.
|
inlinenoexcept |
Gets an array with the elements of the container.
|
inline |
Access specified element.
|
inline |
Access specified element.
|
inlinevirtual |
Raises the xtd::forms::layout::arranged_element_collection::item_added event.
index | The index of the item. |
item | The item added. |
|
inlinevirtual |
Raises the xtd::forms::layout::arranged_element_collection::item_updated event.
index | The index of the item. |
item | The item updated. |
|
inlinevirtual |
Raises the xtd::forms::layout::arranged_element_collection::item_removed event.
index | The index of the item. |
item | The item removed. |
Reimplemented in xtd::forms::control::control_collection.
|
inlinestaticconstexpr |
This is a special value equal to the maximum value representable by the type size_t.
event<arranged_element_collection, delegate<void(size_t, type_t& item)> > xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::item_added |
Occurs when an item is added to the collection.
event<arranged_element_collection, delegate<void(size_t, type_t& item)> > xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::item_updated |
Occurs when an item is updated in the collection.
event<arranged_element_collection, delegate<void(size_t, type_t& item)> > xtd::forms::layout::arranged_element_collection< type_t, sorter_t >::item_removed |
Occurs when an item is removed from the collection.