summaryrefslogtreecommitdiff
path: root/boost/asio/ip/impl/address_v6.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/asio/ip/impl/address_v6.hpp')
-rw-r--r--boost/asio/ip/impl/address_v6.hpp40
1 files changed, 27 insertions, 13 deletions
diff --git a/boost/asio/ip/impl/address_v6.hpp b/boost/asio/ip/impl/address_v6.hpp
index 4b88129c50..e1d9932d30 100644
--- a/boost/asio/ip/impl/address_v6.hpp
+++ b/boost/asio/ip/impl/address_v6.hpp
@@ -25,23 +25,37 @@ namespace boost {
namespace asio {
namespace ip {
+#if !defined(BOOST_ASIO_NO_DEPRECATED)
+
+inline address_v6 address_v6::from_string(const char* str)
+{
+ return boost::asio::ip::make_address_v6(str);
+}
+
+inline address_v6 address_v6::from_string(
+ const char* str, boost::system::error_code& ec)
+{
+ return boost::asio::ip::make_address_v6(str, ec);
+}
+
+inline address_v6 address_v6::from_string(const std::string& str)
+{
+ return boost::asio::ip::make_address_v6(str);
+}
+
+inline address_v6 address_v6::from_string(
+ const std::string& str, boost::system::error_code& ec)
+{
+ return boost::asio::ip::make_address_v6(str, ec);
+}
+
+#endif // !defined(BOOST_ASIO_NO_DEPRECATED)
+
template <typename Elem, typename Traits>
std::basic_ostream<Elem, Traits>& operator<<(
std::basic_ostream<Elem, Traits>& os, const address_v6& addr)
{
- boost::system::error_code ec;
- std::string s = addr.to_string(ec);
- if (ec)
- {
- if (os.exceptions() & std::basic_ostream<Elem, Traits>::failbit)
- boost::asio::detail::throw_error(ec);
- else
- os.setstate(std::basic_ostream<Elem, Traits>::failbit);
- }
- else
- for (std::string::iterator i = s.begin(); i != s.end(); ++i)
- os << os.widen(*i);
- return os;
+ return os << addr.to_string().c_str();
}
} // namespace ip