An object of type basic_resolver_results<InternetProtocol> represents a sequence of basic_resolver_entry<InternetProtocol> elements resulting from a single name resolution operation.
namespace std { namespace experimental { namespace net { inline namespace v1 { namespace ip { template<class InternetProtocol> class basic_resolver_results { public: // types: using protocol_type = InternetProtocol; using endpoint_type = typename protocol_type::endpoint; using value_type = basic_resolver_entry<protocol_type>; using const_reference = const value_type&; using reference = value_type&; using const_iterator = implementation-defined; using iterator = const_iterator; using difference_type = ptrdiff_t; using size_type = size_t; // [internet.resolver.results.cons], construct / copy / destroy: basic_resolver_results(); basic_resolver_results(const basic_resolver_results& rhs); basic_resolver_results(basic_resolver_results&& rhs) noexcept; basic_resolver_results& operator=(const basic_resolver_results& rhs); basic_resolver_results& operator=(basic_resolver_results&& rhs); ~basic_resolver_results(); // [internet.resolver.results.size], size: size_type size() const noexcept; size_type max_size() const noexcept; bool empty() const noexcept; // [internet.resolver.results.access], element access: const_iterator begin() const; const_iterator end() const; const_iterator cbegin() const; const_iterator cend() const; // [internet.resolver.results.swap], swap: void swap(basic_resolver_results& that) noexcept; }; // [internet.resolver.results.comparisons], basic_resolver_results comparisons: template<class InternetProtocol> bool operator==(const basic_resolver_results<InternetProtocol>& a, const basic_resolver_results<InternetProtocol>& b); template<class InternetProtocol> bool operator!=(const basic_resolver_results<InternetProtocol>& a, const basic_resolver_results<InternetProtocol>& b); } // namespace ip } // inline namespace v1 } // namespace net } // namespace experimental } // namespace std
The class template basic_resolver_results satisfies the requirements of a sequence container (C++ 2014 [sequence.reqmts]), except that only the operations defined for const-qualified sequence containers are supported. The class template basic_resolver_results supports forward iterators.
A default-constructed basic_resolver_results object is empty. A non-empty results object is obtained only by calling a basic_resolver object's wait or async_wait operations, or otherwise by copy construction, move construction, assignment, or swap from another non-empty results object.
basic_resolver_results();
Postconditions: size() == 0.
basic_resolver_results(const basic_resolver_results& rhs);
Postconditions: *this == rhs.
basic_resolver_results(basic_resolver_results&& rhs) noexcept;
Postconditions: *this is equal to the prior value of rhs.
basic_resolver_results& operator=(const basic_resolver_results& rhs);
Postconditions: *this == rhs.
Returns: *this.
basic_resolver_results& operator=(basic_resolver_results& rhs) noexcept;
Postconditions: *this is equal to the prior value of rhs.
Returns: *this.
size_type size() const noexcept;
Returns: The number of basic_resolver_entry elements in *this.
size_type max_size() const noexcept;
Returns: The maximum number of basic_resolver_entry elements that can be stored in *this.
bool empty() const noexcept;
Returns: size() == 0.
const_iterator begin() const;
const_iterator cbegin() const;
Returns: A starting iterator that enumerates over all the basic_resolver_entry elements stored in *this.
const_iterator end() const;
const_iterator cend() const;
Returns: A terminating iterator that enumerates over all the basic_resolver_entry elements stored in *this.
void swap(basic_resolver_results& that) noexcept;
Postconditions: *this is equal to the prior value of that, and that is equal to the prior value of *this.
template<class InternetProtocol>
bool operator==(const basic_resolver_results<InternetProtocol>& a,
const basic_resolver_results<InternetProtocol>& b);
Returns: a.size() == b.size() && equal(a.cbegin(), a.cend(), b.cbegin()).
template<class InternetProtocol>
bool operator!=(const basic_resolver_results<InternetProtocol>& a,
const basic_resolver_results<InternetProtocol>& b);
Returns: !(a == b).