12 #ifndef ASIO_IP_ADDRESS_V6_RANGE_HPP 13 #define ASIO_IP_ADDRESS_V6_RANGE_HPP 15 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 17 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 19 #include "asio/detail/config.hpp" 20 #include "asio/ip/address_v6_iterator.hpp" 22 #include "asio/detail/push_options.hpp" 27 template <
typename>
class basic_address_range;
50 const iterator& last) ASIO_NOEXCEPT
58 : begin_(other.begin_),
63 #if defined(ASIO_HAS_MOVE) 66 : begin_(ASIO_MOVE_CAST(iterator)(other.begin_)),
67 end_(ASIO_MOVE_CAST(iterator)(other.end_))
70 #endif // defined(ASIO_HAS_MOVE) 76 begin_ = other.begin_;
81 #if defined(ASIO_HAS_MOVE) 86 begin_ = ASIO_MOVE_CAST(iterator)(other.begin_);
87 end_ = ASIO_MOVE_CAST(iterator)(other.end_);
90 #endif // defined(ASIO_HAS_MOVE) 93 iterator
begin() const ASIO_NOEXCEPT
99 iterator
end() const ASIO_NOEXCEPT
107 return begin_ == end_;
113 return addr >= *begin_ && addr < *end_ ? iterator(addr) : end_;
127 #include "asio/detail/pop_options.hpp" 129 #endif // ASIO_IP_ADDRESS_V6_RANGE_HPP basic_address_iterator< address_v6 > iterator
The type of an iterator that points into the range.
Definition: address_v6_range.hpp:39
iterator end() const ASIO_NOEXCEPT
Obtain an iterator that points to the end of the range.
Definition: address_v6_range.hpp:99
basic_address_range(const basic_address_range &other) ASIO_NOEXCEPT
Copy constructor.
Definition: address_v6_range.hpp:57
basic_address_range & operator=(const basic_address_range &other) ASIO_NOEXCEPT
Assignment operator.
Definition: address_v6_range.hpp:73
basic_address_range() ASIO_NOEXCEPT
Construct an empty range.
Definition: address_v6_range.hpp:42
basic_address_range(const iterator &first, const iterator &last) ASIO_NOEXCEPT
Construct an range that represents the given range of addresses.
Definition: address_v6_range.hpp:49
An input iterator that can be used for traversing IPv6 addresses.
Definition: address_v6_iterator.hpp:38
bool empty() const ASIO_NOEXCEPT
Determine whether the range is empty.
Definition: address_v6_range.hpp:105
iterator begin() const ASIO_NOEXCEPT
Obtain an iterator that points to the start of the range.
Definition: address_v6_range.hpp:93
Represents a range of IPv6 addresses.
Definition: address_v6_range.hpp:35
Implements IP version 6 style addresses.
Definition: address_v6.hpp:47
iterator find(const address_v6 &addr) const ASIO_NOEXCEPT
Find an address in the range.
Definition: address_v6_range.hpp:111
Definition: address_v4_range.hpp:26
Definition: any_io_executor.hpp:28