asio 0.3.8rc3 Home | Reference | Tutorial | Examples | Design
Reference Class Hierarchy | Class Index | Member Index

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

List of all members.

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.


Public Types

typedef InternetProtocol protocol_type
 The protocol type associated with the endpoint.
typedef implementation_defined data_type
 The type of the endpoint structure. This type is dependent on the underlying implementation of the socket layer.
typedef implementation_defined size_type
 The type for the size of the endpoint structure. This type is dependent on the underlying implementation of the socket layer.

Public Member Functions

 basic_endpoint ()
 Default constructor.
 basic_endpoint (const InternetProtocol &protocol, unsigned short port_num)
 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.
 basic_endpoint (const asio::ip::address &addr, unsigned short port_num)
 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.
 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.
size_type size () const
 Get the underlying size of the endpoint in the native type.
void resize (size_type size)
 Set the underlying size of the endpoint in the native type.
size_type capacity () const
 Get the capacity of the endpoint in the native type.
unsigned short port () const
 Get the port associated with the endpoint. The port number is always in the host's byte order.
void port (unsigned short port_num)
 Set the port associated with the endpoint. The port number is always in the host's byte order.
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.

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.)

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


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 implementation_defined 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.

template<typename InternetProtocol>
typedef implementation_defined asio::ip::basic_endpoint< InternetProtocol >::size_type

The type for the size 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 (  ) 

Default constructor.

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

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 
)

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  ) 

Copy constructor.


Member Function Documentation

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

Assign from another endpoint.

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

The protocol associated with the endpoint.

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

Get the underlying endpoint in the native type.

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

Get the underlying endpoint in the native type.

template<typename InternetProtocol>
size_type asio::ip::basic_endpoint< InternetProtocol >::size (  )  const

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

template<typename InternetProtocol>
void asio::ip::basic_endpoint< InternetProtocol >::resize ( size_type  size  ) 

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

template<typename InternetProtocol>
size_type asio::ip::basic_endpoint< InternetProtocol >::capacity (  )  const

Get the capacity of the endpoint in the native type.

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

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  ) 

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

Get the IP address associated with the endpoint.

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

Set the IP address associated with the endpoint.


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 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.

asio 0.3.8rc3 Home | Reference | Tutorial | Examples | Design