asio::ip::basic_endpoint< InternetProtocol > Class Template Reference

Describes an endpoint for a version-independent IP socket. More...

#include <basic_endpoint.hpp>

List of all members.

Public Types

typedef InternetProtocol protocol_type
 The protocol type associated with the endpoint.
typedef
asio::detail::socket_addr_type 
data_type

Public Member Functions

 basic_endpoint ()
 Default constructor.
 basic_endpoint (const InternetProtocol &protocol, unsigned short port_num)
 basic_endpoint (const asio::ip::address &addr, unsigned short port_num)
 basic_endpoint (const basic_endpoint &other)
 Copy constructor.
basic_endpointoperator= (const basic_endpoint &other)
 Assign from another endpoint.
protocol_type protocol () const
 The protocol associated with the endpoint.
data_typedata ()
 Get the underlying endpoint in the native type.
const data_typedata () const
 Get the underlying endpoint in the native type.
std::size_t size () const
 Get the underlying size of the endpoint in the native type.
void resize (std::size_t size)
 Set the underlying size of the endpoint in the native type.
std::size_t capacity () const
 Get the capacity of the endpoint in the native type.
unsigned short port () const
void port (unsigned short port_num)
asio::ip::address address () const
 Get the IP address associated with the endpoint.
void address (const asio::ip::address &addr)
 Set the IP address associated with the endpoint.

Private Member Functions

bool is_v4 () const

Private Attributes

union
asio::ip::basic_endpoint::data_union 
data_

Friends

bool operator== (const basic_endpoint< InternetProtocol > &e1, const basic_endpoint< InternetProtocol > &e2)
 Compare two endpoints for equality.
bool operator!= (const basic_endpoint< InternetProtocol > &e1, const basic_endpoint< InternetProtocol > &e2)
 Compare two endpoints for inequality.
bool operator< (const basic_endpoint< InternetProtocol > &e1, const basic_endpoint< InternetProtocol > &e2)
 Compare endpoints for ordering.

Related Functions

(Note that these are not member functions.)

template<typename Elem, typename Traits, typename InternetProtocol>
std::basic_ostream< Elem,
Traits > & 
operator<< (std::basic_ostream< Elem, Traits > &os, const basic_endpoint< InternetProtocol > &endpoint)
 Output an endpoint as a string.

Classes

union  data_union


Detailed Description

template<typename InternetProtocol>
class asio::ip::basic_endpoint< InternetProtocol >

Describes an endpoint for a version-independent IP socket.

The asio::ip::basic_endpoint class template describes an endpoint that may be associated with a particular socket.

Thread Safety
Distinct objects: Safe.
Shared objects: Unsafe.
Concepts:
Endpoint.

Member Typedef Documentation

template<typename InternetProtocol>
typedef InternetProtocol asio::ip::basic_endpoint< InternetProtocol >::protocol_type

The protocol type associated with the endpoint.

template<typename InternetProtocol>
typedef asio::detail::socket_addr_type asio::ip::basic_endpoint< InternetProtocol >::data_type

The type of the endpoint structure. This type is dependent on the underlying implementation of the socket layer.


Constructor & Destructor Documentation

template<typename InternetProtocol>
asio::ip::basic_endpoint< InternetProtocol >::basic_endpoint (  )  [inline]

Default constructor.

template<typename InternetProtocol>
asio::ip::basic_endpoint< InternetProtocol >::basic_endpoint ( const InternetProtocol &  protocol,
unsigned short  port_num 
) [inline]

Construct an endpoint using a port number, specified in the host's byte order. The IP address will be the any address (i.e. INADDR_ANY or in6addr_any). This constructor would typically be used for accepting new connections.

Examples
To initialise an IPv4 TCP endpoint for port 1234, use:
To specify an IPv6 UDP endpoint for port 9876, use:

template<typename InternetProtocol>
asio::ip::basic_endpoint< InternetProtocol >::basic_endpoint ( const asio::ip::address addr,
unsigned short  port_num 
) [inline]

Construct an endpoint using a port number and an IP address. This constructor may be used for accepting connections on a specific interface or for making a connection to a remote endpoint.

template<typename InternetProtocol>
asio::ip::basic_endpoint< InternetProtocol >::basic_endpoint ( const basic_endpoint< InternetProtocol > &  other  )  [inline]

Copy constructor.


Member Function Documentation

template<typename InternetProtocol>
basic_endpoint& asio::ip::basic_endpoint< InternetProtocol >::operator= ( const basic_endpoint< InternetProtocol > &  other  )  [inline]

Assign from another endpoint.

template<typename InternetProtocol>
protocol_type asio::ip::basic_endpoint< InternetProtocol >::protocol (  )  const [inline]

The protocol associated with the endpoint.

template<typename InternetProtocol>
data_type* asio::ip::basic_endpoint< InternetProtocol >::data (  )  [inline]

Get the underlying endpoint in the native type.

template<typename InternetProtocol>
const data_type* asio::ip::basic_endpoint< InternetProtocol >::data (  )  const [inline]

Get the underlying endpoint in the native type.

template<typename InternetProtocol>
std::size_t asio::ip::basic_endpoint< InternetProtocol >::size (  )  const [inline]

Get the underlying size of the endpoint in the native type.

template<typename InternetProtocol>
void asio::ip::basic_endpoint< InternetProtocol >::resize ( std::size_t  size  )  [inline]

Set the underlying size of the endpoint in the native type.

template<typename InternetProtocol>
std::size_t asio::ip::basic_endpoint< InternetProtocol >::capacity (  )  const [inline]

Get the capacity of the endpoint in the native type.

template<typename InternetProtocol>
unsigned short asio::ip::basic_endpoint< InternetProtocol >::port (  )  const [inline]

Get the port associated with the endpoint. The port number is always in the host's byte order.

template<typename InternetProtocol>
void asio::ip::basic_endpoint< InternetProtocol >::port ( unsigned short  port_num  )  [inline]

Set the port associated with the endpoint. The port number is always in the host's byte order.

template<typename InternetProtocol>
asio::ip::address asio::ip::basic_endpoint< InternetProtocol >::address (  )  const [inline]

Get the IP address associated with the endpoint.

template<typename InternetProtocol>
void asio::ip::basic_endpoint< InternetProtocol >::address ( const asio::ip::address addr  )  [inline]

Set the IP address associated with the endpoint.

template<typename InternetProtocol>
bool asio::ip::basic_endpoint< InternetProtocol >::is_v4 (  )  const [inline, private]


Friends And Related Function Documentation

template<typename InternetProtocol>
bool operator== ( const basic_endpoint< InternetProtocol > &  e1,
const basic_endpoint< InternetProtocol > &  e2 
) [friend]

Compare two endpoints for equality.

template<typename InternetProtocol>
bool operator!= ( const basic_endpoint< InternetProtocol > &  e1,
const basic_endpoint< InternetProtocol > &  e2 
) [friend]

Compare two endpoints for inequality.

template<typename InternetProtocol>
bool operator< ( const basic_endpoint< InternetProtocol > &  e1,
const basic_endpoint< InternetProtocol > &  e2 
) [friend]

Compare endpoints for ordering.

template<typename Elem, typename Traits, typename InternetProtocol>
std::basic_ostream< Elem, Traits > & operator<< ( std::basic_ostream< Elem, Traits > &  os,
const basic_endpoint< InternetProtocol > &  endpoint 
) [related]

Output an endpoint as a string.

Used to output a human-readable string for a specified endpoint.

Parameters:
os The output stream to which the string will be written.
endpoint The endpoint to be written.
Returns:
The output stream.


Member Data Documentation

template<typename InternetProtocol>
union asio::ip::basic_endpoint::data_union asio::ip::basic_endpoint< InternetProtocol >::data_ [private]


The documentation for this class was generated from the following file:
Generated on Fri Jul 30 03:00:09 2010 for rphp by  doxygen 1.5.4