5#include "../../../icomparable.hpp"
6#include "../../../iequatable.hpp"
7#include "../../../ptrdiff.hpp"
8#include "../../../size.hpp"
14 namespace collections {
34 template<
class value_t,
class iterator_tag_t = std::b
idirectional_iterator_tag>
80 const value_t&
data() const noexcept {
return data_;}
83 value_t&
data() noexcept {
return data_;}
89 int32 compare_to(
const wrap_pointer_iterator& rhs)
const noexcept override {
return data_ < rhs.data_ ? -1 : data_ > rhs.data_ ? 1 : 0;}
98 const std::remove_pointer_t<value_t>&
operator *() const noexcept {
return *data_;}
101 std::remove_pointer_t<value_t>&
operator *() noexcept {
return *data_;}
138 mutable value_t data_ =
nullptr;
Represents a wrap pointer iterator.
Definition wrap_pointer_iterator.hpp:35
xtd::ptrdiff operator-(wrap_pointer_iterator value) const noexcept
Subtract The specified iterator from the current iterator.
Definition wrap_pointer_iterator.hpp:134
wrap_pointer_iterator operator+(xtd::size value) const noexcept
Add operator with specified value.
Definition wrap_pointer_iterator.hpp:126
const std::remove_pointer_t< value_t > & operator*() const noexcept
Returns reference to the current element, or a proxy holding it.
Definition wrap_pointer_iterator.hpp:98
wrap_pointer_iterator & operator+=(xtd::size value) noexcept
Add equal operator with specified value.
Definition wrap_pointer_iterator.hpp:130
wrap_pointer_iterator(value_t pointer) noexcept
Initializes a new instance of the xtd::collections::generic::helpers::wrap_pointer_iterator class wit...
Definition wrap_pointer_iterator.hpp:65
const value_type * const_pointer
Represents the const pointer of the value type.
Definition wrap_pointer_iterator.hpp:51
xtd::ptrdiff difference_type
Represents the value type.
Definition wrap_pointer_iterator.hpp:47
value_type & reference
Represents the reference of the value type.
Definition wrap_pointer_iterator.hpp:53
iterator_tag_t iterator_concept
Represents the iterator concept type.
Definition wrap_pointer_iterator.hpp:45
wrap_pointer_iterator & operator--() const noexcept
Pre decrements the underlying iterator.
Definition wrap_pointer_iterator.hpp:118
const value_t & operator->() const noexcept
Returns pointer to the current element, or a proxy holding it.
Definition wrap_pointer_iterator.hpp:104
value_t & data() noexcept
Gets iterator data.
Definition wrap_pointer_iterator.hpp:83
value_t value_type
Represents the value type.
Definition wrap_pointer_iterator.hpp:41
const value_t & data() const noexcept
Gets iterator data.
Definition wrap_pointer_iterator.hpp:80
value_type * pointer
Represents the pointer of the value type.
Definition wrap_pointer_iterator.hpp:49
wrap_pointer_iterator & operator++() const noexcept
Pre increments the underlying iterator.
Definition wrap_pointer_iterator.hpp:111
iterator_tag_t iterator_category
Represents the iterator category type.
Definition wrap_pointer_iterator.hpp:43
const value_type & const_reference
Represents the const reference of the value type.
Definition wrap_pointer_iterator.hpp:55
wrap_pointer_iterator()=default
Initializes a new instance of the xtd::collections::generic::helpers::wrap_pointer_iterator class.
Defines a generalized comparison method that a value type or class implements to create a type-specif...
Definition icomparable.hpp:21
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:22
int32_t int32
Represents a 32-bit signed integer.
Definition int32.hpp:23
size_t size
Represents a size of any object in bytes.
Definition size.hpp:23
std::ptrdiff_t ptrdiff
Represent the signed integer type of the result of subtracting two pointers.
Definition ptrdiff.hpp:23
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10