From 636b77b914b8245953eee79bf9a41d627deaf842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Gullik=20Bj=C3=B8nnes?= Date: Thu, 2 Mar 2017 11:21:27 -1000 Subject: [PATCH] Use namespace std::experimental::net where possible Collapse namespace std { namespace experimental { namespace net }}} to namespace std::experimental::net { } --- src/async.tex | 172 +++++++++------------------------- src/basicioservices.tex | 24 ++--- src/buffers.tex | 46 +++------- src/bufferstreams.tex | 24 ++--- src/forward.tex | 8 +- src/internetprotocol.tex | 194 ++++++++++----------------------------- src/namespaces.tex | 6 +- src/sockets.tex | 62 ++++--------- src/socketstreams.tex | 16 +--- src/timers.tex | 24 ++--- 10 files changed, 147 insertions(+), 429 deletions(-) diff --git a/src/async.tex b/src/async.tex index 6b858ec..00abf9e 100644 --- a/src/async.tex +++ b/src/async.tex @@ -12,8 +12,7 @@ \indexlibrary{\idxcode{associated_executor_t}}% \begin{codeblock} namespace std { -namespace experimental { -namespace net { +namespace experimental::net { inline namespace v1 { template @@ -184,8 +183,7 @@ class async_result, Signature>; } // inline namespace v1 -} // namespace net -} // namespace experimental +} // namespace experimental::net template struct uses_allocator @@ -785,9 +783,7 @@ \end{itemize} \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -805,9 +801,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -859,9 +853,7 @@ Class template \tcode{async_completion} is provided as a convenience, to simplify the implementation of asynchronous operations that use \tcode{async_result}. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -879,9 +871,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -917,9 +907,7 @@ Class template \tcode{associated_allocator} is an associator~(\ref{async.reqmts.associator}) for the \tcode{ProtoAllocator}~(\ref{async.reqmts.proto.allocator}) type requirements, with default candidate type \tcode{allocator} and default candidate object \tcode{allocator()}. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template> @@ -931,9 +919,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \indextext{requirements!\idxcode{associated_allocator} specializations}% @@ -1033,9 +1019,7 @@ Class \tcode{execution_context} implements an extensible, type-safe, polymorphic set of services, indexed by service type. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class execution_context @@ -1071,9 +1055,7 @@ class service_already_exists : public logic_error { }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -1219,9 +1201,7 @@ \indexlibrary{\idxcode{execution_context::service}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class execution_context::service @@ -1248,9 +1228,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \indexlibrary{\idxcode{execution_context::service}!constructor}% @@ -1282,17 +1260,13 @@ The class template \tcode{is_executor} can be used to detect executor types satisfying the \tcode{Executor}~(\ref{async.reqmts.executor}) type requirements. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template struct is_executor; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -1308,18 +1282,14 @@ \indexlibrary{\idxcode{executor_arg_t}}% \indexlibrary{\idxcode{executor_arg}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { struct executor_arg_t { }; constexpr executor_arg_t executor_arg = executor_arg_t(); } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -1334,17 +1304,13 @@ \indexlibrary{\idxcode{uses_executor}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template struct uses_executor; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -1378,9 +1344,7 @@ Class template \tcode{associated_executor} is an associator~(\ref{async.reqmts.associator}) for the \tcode{Executor}~(\ref{async.reqmts.executor}) type requirements, with default candidate type \tcode{system_executor} and default candidate object \tcode{system_executor()}. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -1392,9 +1356,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \indextext{requirements!\idxcode{associated_executor} specializations}% @@ -1517,9 +1479,7 @@ to an object or function of type \tcode{T}. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -1577,9 +1537,7 @@ struct associated_executor, Executor1>; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} @@ -1698,9 +1656,7 @@ \indextext{\idxcode{async_result}!specialization for \tcode{executor_binder}}% \indexlibrary{\idxcode{async_result}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -1723,9 +1679,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \begin{itemdecl} @@ -1753,9 +1707,7 @@ \indextext{\idxcode{associated_allocator}!specialization for \tcode{executor_binder}}% \indexlibrary{\idxcode{associated_allocator}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -1768,9 +1720,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \begin{itemdecl} @@ -1790,9 +1740,7 @@ \indextext{\idxcode{associated_executor}!specialization for \tcode{executor_binder}}% \indexlibrary{\idxcode{associated_executor}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -1805,9 +1753,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \begin{itemdecl} @@ -1863,9 +1809,7 @@ \indexlibrary{\idxcode{executor_work_guard}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -1901,9 +1845,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} @@ -2065,9 +2007,7 @@ Class \tcode{system_executor} represents a set of rules where function objects are permitted to execute on any thread. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class system_executor @@ -2096,9 +2036,7 @@ bool operator!=(const system_executor&, const system_executor&) noexcept; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -2179,9 +2117,7 @@ Class \tcode{system_context} implements the execution context associated with \tcode{system_executor} objects. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class system_context : public execution_context @@ -2208,9 +2144,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -2284,9 +2218,7 @@ An exception of type \tcode{bad_executor} is thrown by \tcode{executor} member functions \tcode{dispatch}, \tcode{post}, and \tcode{defer} when the executor object has no target. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class bad_executor : public exception @@ -2297,9 +2229,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \begin{itemdecl} @@ -2325,8 +2255,7 @@ \begin{codeblock} namespace std { -namespace experimental { -namespace net { +namespace experimental::net { inline namespace v1 { class executor @@ -2394,8 +2323,7 @@ void swap(executor& a, executor& b) noexcept; } // inline namespace v1 -} // namespace net -} // namespace experimental +} // namespace experimental::net template struct uses_allocator @@ -3043,9 +2971,7 @@ The class template \tcode{strand} is a wrapper around an object of type \tcode{Executor} satisfying the Executor requirements~(\ref{async.reqmts.executor}). \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -3100,9 +3026,7 @@ bool operator!=(const strand& a, const strand& b); } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -3461,9 +3385,7 @@ The class template \tcode{use_future_t} defines a set of types that, when passed as a completion token~(\ref{async.reqmts.async.token}) to an asynchronous operation's initiating function, cause the result of the asynchronous operation to be delivered via a future (\CppXref{futures.uniquefuture}). \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template> @@ -3483,9 +3405,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} @@ -3684,9 +3604,7 @@ \indexlibrary{\idxcode{async_result}}% \indextext{\idxcode{async_result}!specialization for \tcode{packaged_task}}% \begin{itemdecl} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -3707,9 +3625,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net explicit async_result(completion_handler_type& h); \end{itemdecl} diff --git a/src/basicioservices.tex b/src/basicioservices.tex index 02e6e90..9ace71f 100644 --- a/src/basicioservices.tex +++ b/src/basicioservices.tex @@ -7,17 +7,13 @@ \rSec1[io_context.synop]{Header \tcode{} synopsis} \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class io_context; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} @@ -26,9 +22,7 @@ \indexlibrary{\idxcode{io_context}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class io_context : public execution_context @@ -74,9 +68,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -333,9 +325,7 @@ \indexlibrary{\idxcode{io_context::executor_type}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class io_context::executor_type @@ -372,9 +362,7 @@ const io_context::executor_type& b) noexcept; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum diff --git a/src/buffers.tex b/src/buffers.tex index 5362646..ecc286a 100644 --- a/src/buffers.tex +++ b/src/buffers.tex @@ -12,8 +12,7 @@ \indexlibrary{\idxcode{stream_errc}}% \begin{codeblock} namespace std { -namespace experimental { -namespace net { +namespace experimental::net { inline namespace v1 { enum class stream_errc { @@ -291,8 +290,7 @@ CompletionToken&& token); } // inline namespace v1 -} // namespace net -} // namespace experimental +} // namespace experimental::net template<> struct is_error_code_enum< experimental::net::v1::stream_errc> @@ -584,9 +582,7 @@ \indexlibrary{\idxcode{mutable_buffer}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class mutable_buffer @@ -607,9 +603,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -672,9 +666,7 @@ \rSec1[buffer.const]{Class \tcode{const_buffer}} \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class const_buffer @@ -696,9 +688,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -774,9 +764,7 @@ \indexlibrary{\idxcode{is_const_buffer_sequence}}% \indexlibrary{\idxcode{is_dynamic_buffer}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template struct is_mutable_buffer_sequence; @@ -784,9 +772,7 @@ template struct is_dynamic_buffer; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -1117,9 +1103,7 @@ Class template \tcode{dynamic_vector_buffer} is an adaptor used to automatically grow or shrink a \tcode{vector} object, to reflect the data successfully transferred in an I/O operation. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -1152,9 +1136,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -1283,9 +1265,7 @@ Class template \tcode{dynamic_string_buffer} is an adaptor used to automatically grow or shrink a \tcode{basic_string} object, to reflect the data successfully transferred in an I/O operation. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -1318,9 +1298,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum diff --git a/src/bufferstreams.tex b/src/bufferstreams.tex index fe8c2f6..8db0697 100644 --- a/src/bufferstreams.tex +++ b/src/bufferstreams.tex @@ -214,9 +214,7 @@ The class \tcode{transfer_all} is a completion condition that is used to specify that a read or write operation should continue until all of the data has been transferred, or until an error occurs. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class transfer_all @@ -226,9 +224,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -252,9 +248,7 @@ The class \tcode{transfer_at_least} is a completion condition that is used to specify that a read or write operation should continue until a minimum number of bytes has been transferred, or until an error occurs. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class transfer_at_least @@ -267,9 +261,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -302,9 +294,7 @@ The class \tcode{transfer_exactly} is a completion condition that is used to specify that a read or write operation should continue until an exact number of bytes has been transferred, or until an error occurs. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class transfer_exactly @@ -317,9 +307,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum diff --git a/src/forward.tex b/src/forward.tex index 017d83d..b001c0d 100644 --- a/src/forward.tex +++ b/src/forward.tex @@ -7,9 +7,7 @@ \rSec1[fwd.decl.synop]{Header \tcode{} synopsis} \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class execution_context; @@ -74,9 +72,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum diff --git a/src/internetprotocol.tex b/src/internetprotocol.tex index f79fd87..f1f32b6 100644 --- a/src/internetprotocol.tex +++ b/src/internetprotocol.tex @@ -13,8 +13,7 @@ \indexlibrary{\idxcode{v4_mapped}}% \begin{codeblock} namespace std { -namespace experimental { -namespace net { +namespace experimental::net { inline namespace v1 { namespace ip { @@ -260,8 +259,7 @@ } // namespace multicast } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental +} // namespace experimental::net template<> struct is_error_condition_enum< experimental::net::v1::ip::resolver_errc> @@ -536,9 +534,7 @@ \indexlibrary{\idxcode{address}!\idxcode{is_multicast}}% \indexlibrary{\idxcode{address}!\idxcode{to_string}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -596,9 +592,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \indexlibrary{\idxcode{address}}% @@ -905,9 +899,7 @@ \indexlibrary{\idxcode{address_v4}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -969,9 +961,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -982,9 +972,7 @@ \indexlibrarymember{bytes_type}{address_v4}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -996,9 +984,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -1300,9 +1286,7 @@ \indexlibrary{\idxcode{address_v6}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -1371,9 +1355,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -1387,9 +1369,7 @@ \indexlibrarymember{bytes_type}{address_v6}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -1401,9 +1381,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -1785,9 +1763,7 @@ An exception of type \tcode{bad_address_cast} is thrown by a failed \tcode{address_cast}. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -1800,9 +1776,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \begin{itemdecl} @@ -1841,9 +1815,7 @@ The class template \tcode{basic_address_iterator} enables iteration over IP addresses in network byte order. This clause defines two specializations of the class template \tcode{basic_address_iterator}: \tcode{basic_address_iterator} and \tcode{basic_address_iterator}. The members and operational semantics of these specializations are defined below. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -1876,9 +1848,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -1968,9 +1938,7 @@ The class template \tcode{basic_address_range} represents a range of IP addresses in network byte order. This clause defines two specializations of the class template \tcode{basic_address_range}: \tcode{basic_address_range} and \tcode{basic_address_range}. The members and operational semantics of these specializations are defined below. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -1995,9 +1963,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -2082,9 +2048,7 @@ The class \tcode{network_v4} provides the ability to use and manipulate IPv4 network addresses. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -2132,9 +2096,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -2365,9 +2327,7 @@ The class \tcode{network_v6} provides the ability to use and manipulate IPv6 network addresses. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -2411,9 +2371,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -2602,9 +2560,7 @@ An object of type \tcode{basic_endpoint} represents a protocol-specific endpoint, where an endpoint consists of an IP address and port number. Endpoints may be used to identify sources and destinations for socket connections and datagrams. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -2658,9 +2614,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -2671,9 +2625,7 @@ Extensible implementations provide the following member functions: \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -2697,9 +2649,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} @@ -2952,9 +2902,7 @@ An object of type \tcode{basic_resolver_entry} represents a single element in the results returned by a name resolution operation. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -2993,9 +2941,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} @@ -3117,9 +3063,7 @@ resulting from a single name resolution operation. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -3171,9 +3115,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -3342,9 +3284,7 @@ \indexlibrary{\idxcode{resolve_base}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -3367,9 +3307,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -3429,9 +3367,7 @@ Objects of type \tcode{basic_resolver} are used to perform name resolution. Name resolution is the translation of a host name and service name into a sequence of endpoints, or the translation of an endpoint into its corresponding host name and service name. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -3509,9 +3445,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} @@ -3860,9 +3794,7 @@ The class \tcode{tcp} encapsulates the types and flags necessary for TCP sockets. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -3890,9 +3822,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -3903,9 +3833,7 @@ Extensible implementations provide the following member functions: \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -3920,9 +3848,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -3991,9 +3917,7 @@ The class \tcode{udp} encapsulates the types and flags necessary for UDP sockets. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -4018,9 +3942,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -4031,9 +3953,7 @@ Extensible implementations provide the following member functions: \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { namespace ip { @@ -4048,9 +3968,7 @@ } // namespace ip } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -4215,12 +4133,9 @@ The \tcode{outbound_interface} class represents a socket option that specifies the network interface to use for outgoing multicast datagrams. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { -namespace ip { -namespace multicast { +namespace ip::multicast { class outbound_interface { @@ -4230,12 +4145,9 @@ explicit outbound_interface(unsigned int network_interface) noexcept; }; -} // namespace multicast -} // namespace ip +} // namespace ip::multicast } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -4246,12 +4158,9 @@ Extensible implementations provide the following member functions: \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { -namespace ip { -namespace multicast { +namespace ip::multicast { class outbound_interface { @@ -4266,12 +4175,9 @@ unsigned int v6_value_; // \expos }; -} // namespace multicast -} // namespace ip +} // namespace ip::multicast } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \begin{itemdecl} diff --git a/src/namespaces.tex b/src/namespaces.tex index 5a6b67c..c89f11c 100644 --- a/src/namespaces.tex +++ b/src/namespaces.tex @@ -6,12 +6,8 @@ The components described in this Technical Specification are experimental and not part of the \Cpp standard library. All components described in this Technical Specification are declared in namespace \tcode{std::experimental::net::v1} or a sub-namespace thereof unless otherwise specified. The headers described in this technical specification shall import the contents of \tcode{std::experimental::net::v1} into \tcode{std::experimental::net} as if by: \begin{codeblock} -namespace std { - namespace experimental { - namespace net { +namespace std::experimental::net { inline namespace v1 {} - } - } } \end{codeblock} diff --git a/src/sockets.tex b/src/sockets.tex index 27a2212..38ecc85 100644 --- a/src/sockets.tex +++ b/src/sockets.tex @@ -9,8 +9,7 @@ \indexlibrary{\idxcode{socket_errc}}% \begin{codeblock} namespace std { -namespace experimental { -namespace net { +namespace experimental::net { inline namespace v1 { enum class socket_errc { @@ -110,8 +109,7 @@ CompletionToken&& token); } // inline namespace v1 -} // namespace net -} // namespace experimental +} // namespace experimental::net template<> struct is_error_code_enum< experimental::net::v1::socket_errc> @@ -1017,9 +1015,7 @@ \rSec1[socket.base]{Class \tcode{socket_base}} \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class socket_base @@ -1060,9 +1056,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -1252,9 +1246,7 @@ The \tcode{linger} class represents a socket option for controlling the behavior when a socket is closed and unsent data is present. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class socket_base::linger @@ -1273,9 +1265,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -1286,9 +1276,7 @@ Extensible implementations provide the following member functions: \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { class socket_base::linger @@ -1306,9 +1294,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \begin{itemdecl} @@ -1429,9 +1415,7 @@ Class template \tcode{basic_socket} is used as the base class for the \tcode{basic_datagram_socket} and \tcode{basic_stream_socket} class templates. It provides functionality that is common to both types of socket. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -1550,9 +1534,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -2235,9 +2217,7 @@ The class template \tcode{basic_datagram_socket} is used to send and receive discrete messages of fixed maximum length. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -2371,9 +2351,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -2897,9 +2875,7 @@ The class template \tcode{basic_stream_socket} is used to exchange data with a peer over a sequenced, reliable, bidirectional, connection-mode byte stream. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -2998,9 +2974,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -3373,9 +3347,7 @@ An object of class template \tcode{basic_socket_acceptor} is used to listen for, and queue, incoming socket connections. Socket objects that represent the incoming connections are dequeued by calling \tcode{accept} or \tcode{async_accept}. \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -3505,9 +3477,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum diff --git a/src/socketstreams.tex b/src/socketstreams.tex index c808158..20b3695 100644 --- a/src/socketstreams.tex +++ b/src/socketstreams.tex @@ -12,9 +12,7 @@ \begin{note} This class is intended for sending and receiving bytes, not characters. The conversion from characters to bytes, and vice versa, must occur elsewhere. \end{note} \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -71,9 +69,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -352,9 +348,7 @@ \begin{note} This class is intended for sending and receiving bytes, not characters. The conversion from characters to bytes, and vice versa, must occur elsewhere. \end{note} \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -402,9 +396,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum diff --git a/src/timers.tex b/src/timers.tex index 0eeace4..6d55cf7 100644 --- a/src/timers.tex +++ b/src/timers.tex @@ -35,9 +35,7 @@ \begin{codeblock} #include -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template struct wait_traits; @@ -50,9 +48,7 @@ using high_resolution_timer = basic_waitable_timer; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} @@ -114,9 +110,7 @@ \indexlibrary{\idxcode{wait_traits}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template @@ -130,9 +124,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum @@ -165,9 +157,7 @@ \indexlibrary{\idxcode{basic_waitable_timer}}% \begin{codeblock} -namespace std { -namespace experimental { -namespace net { +namespace std::experimental::net { inline namespace v1 { template> @@ -214,9 +204,7 @@ }; } // inline namespace v1 -} // namespace net -} // namespace experimental -} // namespace std +} // namespace std::experimental::net \end{codeblock} \pnum