Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::asio::generic::raw_protocol Class Reference

Encapsulates the flags needed for a generic raw socket. More...

#include <raw_protocol.hpp>

Public Types

typedef basic_endpoint
< raw_protocol
endpoint
 The type of an endpoint. More...
 
typedef basic_raw_socket
< raw_protocol
socket
 The generic socket type. More...
 

Public Member Functions

 raw_protocol (int address_family, int socket_protocol)
 Construct a protocol object for a specific address family and protocol. More...
 
template<typename Protocol >
 raw_protocol (const Protocol &source_protocol)
 Construct a generic protocol object from a specific protocol. More...
 
int type () const
 Obtain an identifier for the type of the protocol. More...
 
int protocol () const
 Obtain an identifier for the protocol. More...
 
int family () const
 Obtain an identifier for the protocol family. More...
 

Friends

bool operator== (const raw_protocol &p1, const raw_protocol &p2)
 Compare two protocols for equality. More...
 
bool operator!= (const raw_protocol &p1, const raw_protocol &p2)
 Compare two protocols for inequality. More...
 

Detailed Description

Encapsulates the flags needed for a generic raw socket.

The boost::asio::generic::raw_protocol class contains flags necessary for raw sockets of any address family and protocol.

Examples
Constructing using a native address family and socket protocol:
raw_protocol p(AF_INET, IPPROTO_ICMP);
Constructing from a specific protocol type:
Thread Safety
Distinct objects: Safe.
Shared objects: Safe.
Concepts:
Protocol.

Member Typedef Documentation

Constructor & Destructor Documentation

boost::asio::generic::raw_protocol::raw_protocol ( int  address_family,
int  socket_protocol 
)
inline

Construct a protocol object for a specific address family and protocol.

template<typename Protocol >
boost::asio::generic::raw_protocol::raw_protocol ( const Protocol &  source_protocol)
inline

Construct a generic protocol object from a specific protocol.

Exceptions
c bad_cast Thrown if the source protocol is not raw-oriented.

References boost::lambda::throw_exception(), and type().

Member Function Documentation

int boost::asio::generic::raw_protocol::family ( ) const
inline

Obtain an identifier for the protocol family.

int boost::asio::generic::raw_protocol::protocol ( ) const
inline

Obtain an identifier for the protocol.

int boost::asio::generic::raw_protocol::type ( ) const
inline

Obtain an identifier for the type of the protocol.

Referenced by raw_protocol().

Friends And Related Function Documentation

bool operator!= ( const raw_protocol p1,
const raw_protocol p2 
)
friend

Compare two protocols for inequality.

bool operator== ( const raw_protocol p1,
const raw_protocol p2 
)
friend

Compare two protocols for equality.


The documentation for this class was generated from the following file: