// ip/icmp.hpp
// ~~~~~~~~~~~
//
-// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
+// Copyright (c) 2003-2019 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
typedef basic_endpoint<icmp> endpoint;
/// Construct to represent the IPv4 ICMP protocol.
- static icmp v4()
+ static icmp v4() BOOST_ASIO_NOEXCEPT
{
return icmp(BOOST_ASIO_OS_DEF(IPPROTO_ICMP),
BOOST_ASIO_OS_DEF(AF_INET));
}
/// Construct to represent the IPv6 ICMP protocol.
- static icmp v6()
+ static icmp v6() BOOST_ASIO_NOEXCEPT
{
return icmp(BOOST_ASIO_OS_DEF(IPPROTO_ICMPV6),
BOOST_ASIO_OS_DEF(AF_INET6));
}
/// Obtain an identifier for the type of the protocol.
- int type() const
+ int type() const BOOST_ASIO_NOEXCEPT
{
return BOOST_ASIO_OS_DEF(SOCK_RAW);
}
/// Obtain an identifier for the protocol.
- int protocol() const
+ int protocol() const BOOST_ASIO_NOEXCEPT
{
return protocol_;
}
/// Obtain an identifier for the protocol family.
- int family() const
+ int family() const BOOST_ASIO_NOEXCEPT
{
return family_;
}
private:
// Construct with a specific family.
- explicit icmp(int protocol_id, int protocol_family)
+ explicit icmp(int protocol_id, int protocol_family) BOOST_ASIO_NOEXCEPT
: protocol_(protocol_id),
family_(protocol_family)
{