|
Boost-Commit : |
From: chris_at_[hidden]
Date: 2007-12-15 17:00:21
Author: chris_kohlhoff
Date: 2007-12-15 17:00:19 EST (Sat, 15 Dec 2007)
New Revision: 42084
URL: http://svn.boost.org/trac/boost/changeset/42084
Log:
Merged revisions 41701-41702,41706,41708-41726,41728-41733,41737,41743-41769,41771-41774,41776-41777,41779-41787,41790,41792-41794,41796-41797,41799-41800,41803-41804,41806-41818,41820-41829,41831-41841,41843-41862,41865,41867-41870 via svnmerge from
https://svn.boost.org/svn/boost/trunk
........
r41701 | chris_kohlhoff | 2007-12-05 08:28:42 +1100 (Wed, 05 Dec 2007) | 2 lines
Prevent deprecated function warnings for MSVC >= 8.
........
r41762 | chris_kohlhoff | 2007-12-06 08:46:19 +1100 (Thu, 06 Dec 2007) | 2 lines
Don't use deprecated function workaround when compiling for Windows CE.
........
r41823 | chris_kohlhoff | 2007-12-07 23:53:39 +1100 (Fri, 07 Dec 2007) | 2 lines
Try to fix stall when sending large amounts of data over SSL.
........
r41845 | chris_kohlhoff | 2007-12-08 11:18:59 +1100 (Sat, 08 Dec 2007) | 2 lines
Documentation fixes.
........
r41867 | chris_kohlhoff | 2007-12-09 00:00:45 +1100 (Sun, 09 Dec 2007) | 2 lines
Documentation fixes.
........
r41868 | chris_kohlhoff | 2007-12-09 00:48:52 +1100 (Sun, 09 Dec 2007) | 2 lines
Suppress signed/unsigned warning.
........
r41870 | chris_kohlhoff | 2007-12-09 01:03:40 +1100 (Sun, 09 Dec 2007) | 2 lines
Ensure asio header comes before boost.thread header.
........
Properties modified:
branches/release/ (props changed)
Text files modified:
branches/release/boost/asio/detail/posix_fd_set_adapter.hpp | 2
branches/release/boost/asio/detail/socket_ops.hpp | 12 +
branches/release/boost/asio/ssl/detail/openssl_operation.hpp | 38 +++++-
branches/release/libs/asio/doc/asio.qbk | 1
branches/release/libs/asio/doc/examples.qbk | 12 +
branches/release/libs/asio/doc/reference.qbk | 241 +++++++++++++++++++++++++--------------
branches/release/libs/asio/doc/reference.xsl | 22 +++
branches/release/libs/asio/example/chat/chat_client.cpp | 2
branches/release/libs/asio/example/echo/blocking_tcp_echo_server.cpp | 2
branches/release/libs/asio/test/io_service.cpp | 2
branches/release/libs/asio/test/strand.cpp | 2
11 files changed, 229 insertions(+), 107 deletions(-)
Modified: branches/release/boost/asio/detail/posix_fd_set_adapter.hpp
==============================================================================
--- branches/release/boost/asio/detail/posix_fd_set_adapter.hpp (original)
+++ branches/release/boost/asio/detail/posix_fd_set_adapter.hpp 2007-12-15 17:00:19 EST (Sat, 15 Dec 2007)
@@ -38,7 +38,7 @@
bool set(socket_type descriptor)
{
- if (descriptor < FD_SETSIZE)
+ if (descriptor < (socket_type)FD_SETSIZE)
{
if (max_descriptor_ == invalid_socket || descriptor > max_descriptor_)
max_descriptor_ = descriptor;
Modified: branches/release/boost/asio/detail/socket_ops.hpp
==============================================================================
--- branches/release/boost/asio/detail/socket_ops.hpp (original)
+++ branches/release/boost/asio/detail/socket_ops.hpp 2007-12-15 17:00:19 EST (Sat, 15 Dec 2007)
@@ -1125,8 +1125,12 @@
inline void gai_strcpy(char* target, const char* source, std::size_t max_size)
{
using namespace std;
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(UNDER_CE)
+ strcpy_s(target, max_size, source);
+#else
*target = 0;
strncat(target, source, max_size);
+#endif
}
enum { gai_clone_flag = 1 << 30 };
@@ -1659,7 +1663,11 @@
{
return ec = boost::asio::error::no_buffer_space;
}
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(UNDER_CE)
+ sprintf_s(serv, servlen, "%u", ntohs(port));
+#else
sprintf(serv, "%u", ntohs(port));
+#endif
}
else
{
@@ -1678,7 +1686,11 @@
{
return ec = boost::asio::error::no_buffer_space;
}
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) && !defined(UNDER_CE)
+ sprintf_s(serv, servlen, "%u", ntohs(port));
+#else
sprintf(serv, "%u", ntohs(port));
+#endif
}
#if defined(BOOST_HAS_THREADS) && defined(BOOST_HAS_PTHREADS)
::pthread_mutex_unlock(&mutex);
Modified: branches/release/boost/asio/ssl/detail/openssl_operation.hpp
==============================================================================
--- branches/release/boost/asio/ssl/detail/openssl_operation.hpp (original)
+++ branches/release/boost/asio/ssl/detail/openssl_operation.hpp 2007-12-15 17:00:19 EST (Sat, 15 Dec 2007)
@@ -101,6 +101,10 @@
&openssl_operation::do_async_write,
this, boost::arg<1>(), boost::arg<2>()
);
+ read_ = boost::bind(
+ &openssl_operation::do_async_read,
+ this
+ );
handler_= boost::bind(
&openssl_operation::async_user_handler,
this, boost::arg<1>(), boost::arg<2>()
@@ -123,6 +127,10 @@
&openssl_operation::do_sync_write,
this, boost::arg<1>(), boost::arg<2>()
);
+ read_ = boost::bind(
+ &openssl_operation::do_sync_read,
+ this
+ );
handler_ = boost::bind(
&openssl_operation::sync_user_handler,
this, boost::arg<1>(), boost::arg<2>()
@@ -135,7 +143,7 @@
int start()
{
int rc = primitive_( session_ );
- int sys_error_code = ERR_get_error();
+
bool is_operation_done = (rc > 0);
// For connect/accept/shutdown, the operation
// is done, when return code is 1
@@ -145,6 +153,8 @@
int error_code = !is_operation_done ?
::SSL_get_error( session_, rc ) :
0;
+ int sys_error_code = ERR_get_error();
+
bool is_read_needed = (error_code == SSL_ERROR_WANT_READ);
bool is_write_needed = (error_code == SSL_ERROR_WANT_WRITE ||
::BIO_ctrl_pending( ssl_bio_ ));
@@ -212,6 +222,10 @@
return start();
}
+ else if (is_read_needed)
+ {
+ return read_();
+ }
}
// Continue with operation, flush any SSL data out to network...
@@ -223,10 +237,12 @@
typedef boost::function<int (const boost::system::error_code&, int)>
int_handler_func;
typedef boost::function<int (bool, int)> write_func;
+ typedef boost::function<int ()> read_func;
ssl_primitive_func primitive_;
user_handler_func user_handler_;
write_func write_;
+ read_func read_;
int_handler_func handler_;
net_buffer send_buf_; // buffers for network IO
@@ -250,8 +266,15 @@
throw boost::system::system_error(error);
}
- int async_user_handler(const boost::system::error_code& error, int rc)
+ int async_user_handler(boost::system::error_code error, int rc)
{
+ if (rc < 0)
+ {
+ if (!error)
+ error = boost::asio::error::no_recovery;
+ rc = 0;
+ }
+
user_handler_(error, rc);
return 0;
}
@@ -316,8 +339,8 @@
}
// OPeration is not done and writing to net has been made...
- // start reading...
- do_async_read();
+ // start operation again
+ start();
return 0;
}
@@ -340,7 +363,7 @@
handler_(error, rc);
}
- void do_async_read()
+ int do_async_read()
{
// Wait for new data
socket_.async_read_some
@@ -355,6 +378,7 @@
boost::asio::placeholders::bytes_transferred
)
);
+ return 0;
}
void async_read_handler(const boost::system::error_code& error,
@@ -433,8 +457,8 @@
// Finish the operation, with success
return rc;
- // Operation is not finished, read data from net...
- return do_sync_read();
+ // Operation is not finished, start again.
+ return start();
}
int do_sync_read()
Modified: branches/release/libs/asio/doc/asio.qbk
==============================================================================
--- branches/release/libs/asio/doc/asio.qbk (original)
+++ branches/release/libs/asio/doc/asio.qbk 2007-12-15 17:00:19 EST (Sat, 15 Dec 2007)
@@ -17,7 +17,6 @@
[authors [Kohlhoff, Christopher]]
[category template]
[category generic]
- [last-revision $Date$]
]
[template mdash[] '''— ''']
Modified: branches/release/libs/asio/doc/examples.qbk
==============================================================================
--- branches/release/libs/asio/doc/examples.qbk (original)
+++ branches/release/libs/asio/doc/examples.qbk 2007-12-15 17:00:19 EST (Sat, 15 Dec 2007)
@@ -50,8 +50,8 @@
[heading HTTP Client]
Example programs implementing simple HTTP 1.0 clients. These examples show how
-to use the [link boost_asio.reference.read_until] and [link
-boost_asio.reference.async_read_until] functions.
+to use the [link boost_asio.reference.read_until read_until] and [link
+boost_asio.reference.async_read_until async_read_until] functions.
* [@../../example/http/client/sync_client.cpp]
* [@../../example/http/client/async_client.cpp]
@@ -139,7 +139,8 @@
[heading Iostreams]
-Two examples showing how to use [link boost_asio.reference.ip__tcp.iostream].
+Two examples showing how to use [link boost_asio.reference.ip__tcp.iostream
+ip::tcp::iostream].
* [@../../example/iostreams/daytime_client.cpp]
* [@../../example/iostreams/daytime_server.cpp]
@@ -170,7 +171,7 @@
This example demonstrates how to integrate custom functionality (in this case,
for logging) into asio's [link boost_asio.reference.io_service io_service], and
how to use a custom service with [link
-boost_asio.reference.basic_stream_socket].
+boost_asio.reference.basic_stream_socket basic_stream_socket<>].
* [@../../example/services/basic_logger.hpp]
* [@../../example/services/daytime_client.cpp]
@@ -192,7 +193,8 @@
[heading SSL]
Example client and server programs showing the use of the [link
-boost_asio.reference.ssl__stream] template with asynchronous operations.
+boost_asio.reference.ssl__stream ssl::stream<>] template with asynchronous
+operations.
* [@../../example/ssl/client.cpp]
* [@../../example/ssl/server.cpp]
Modified: branches/release/libs/asio/doc/reference.qbk
==============================================================================
--- branches/release/libs/asio/doc/reference.qbk (original)
+++ branches/release/libs/asio/doc/reference.qbk 2007-12-15 17:00:19 EST (Sat, 15 Dec 2007)
@@ -3879,7 +3879,7 @@
The maximum length of the queue of pending incoming connections.
- static const int max_connections;
+ static const int max_connections = implementation_defined;
@@ -3894,7 +3894,7 @@
Specify that the data should not be subject to routing.
- static const int message_do_not_route;
+ static const int message_do_not_route = implementation_defined;
@@ -3925,7 +3925,7 @@
Process out-of-band data.
- static const int message_out_of_band;
+ static const int message_out_of_band = implementation_defined;
@@ -3940,7 +3940,7 @@
Peek at incoming data without removing it from the input queue.
- static const int message_peek;
+ static const int message_peek = implementation_defined;
@@ -8445,7 +8445,7 @@
The maximum length of the queue of pending incoming connections.
- static const int max_connections;
+ static const int max_connections = implementation_defined;
@@ -8460,7 +8460,7 @@
Specify that the data should not be subject to routing.
- static const int message_do_not_route;
+ static const int message_do_not_route = implementation_defined;
@@ -8491,7 +8491,7 @@
Process out-of-band data.
- static const int message_out_of_band;
+ static const int message_out_of_band = implementation_defined;
@@ -8506,7 +8506,7 @@
Peek at incoming data without removing it from the input queue.
- static const int message_peek;
+ static const int message_peek = implementation_defined;
@@ -11089,7 +11089,7 @@
The maximum length of the queue of pending incoming connections.
- static const int max_connections;
+ static const int max_connections = implementation_defined;
@@ -11104,7 +11104,7 @@
Specify that the data should not be subject to routing.
- static const int message_do_not_route;
+ static const int message_do_not_route = implementation_defined;
@@ -11135,7 +11135,7 @@
Process out-of-band data.
- static const int message_out_of_band;
+ static const int message_out_of_band = implementation_defined;
@@ -11150,7 +11150,7 @@
Peek at incoming data without removing it from the input queue.
- static const int message_peek;
+ static const int message_peek = implementation_defined;
@@ -13870,7 +13870,7 @@
The maximum length of the queue of pending incoming connections.
- static const int max_connections;
+ static const int max_connections = implementation_defined;
@@ -13885,7 +13885,7 @@
Specify that the data should not be subject to routing.
- static const int message_do_not_route;
+ static const int message_do_not_route = implementation_defined;
@@ -13916,7 +13916,7 @@
Process out-of-band data.
- static const int message_out_of_band;
+ static const int message_out_of_band = implementation_defined;
@@ -13931,7 +13931,7 @@
Peek at incoming data without removing it from the input queue.
- static const int message_peek;
+ static const int message_peek = implementation_defined;
@@ -17346,7 +17346,7 @@
The maximum length of the queue of pending incoming connections.
- static const int max_connections;
+ static const int max_connections = implementation_defined;
@@ -17361,7 +17361,7 @@
Specify that the data should not be subject to routing.
- static const int message_do_not_route;
+ static const int message_do_not_route = implementation_defined;
@@ -17392,7 +17392,7 @@
Process out-of-band data.
- static const int message_out_of_band;
+ static const int message_out_of_band = implementation_defined;
@@ -17407,7 +17407,7 @@
Peek at incoming data without removing it from the input queue.
- static const int message_peek;
+ static const int message_peek = implementation_defined;
@@ -19793,7 +19793,7 @@
The default buffer size.
- static const std::size_t default_buffer_size;
+ static const std::size_t default_buffer_size = implementation_defined;
@@ -20963,7 +20963,7 @@
The default buffer size.
- static const std::size_t default_buffer_size;
+ static const std::size_t default_buffer_size = implementation_defined;
@@ -22881,7 +22881,7 @@
- static const boost::system::error_category & addrinfo_category;
+ static const boost::system::error_category & addrinfo_category = boost::asio::error::get_addrinfo_category();
@@ -23087,6 +23087,66 @@
[endsect]
+
+[section:error__get_addrinfo_category error::get_addrinfo_category]
+
+
+
+ const boost::system::error_category & get_addrinfo_category();
+
+
+
+[endsect]
+
+
+
+[section:error__get_misc_category error::get_misc_category]
+
+
+
+ const boost::system::error_category & get_misc_category();
+
+
+
+[endsect]
+
+
+
+[section:error__get_netdb_category error::get_netdb_category]
+
+
+
+ const boost::system::error_category & get_netdb_category();
+
+
+
+[endsect]
+
+
+
+[section:error__get_ssl_category error::get_ssl_category]
+
+
+
+ const boost::system::error_category & get_ssl_category();
+
+
+
+[endsect]
+
+
+
+[section:error__get_system_category error::get_system_category]
+
+
+
+ const boost::system::error_category & get_system_category();
+
+
+
+[endsect]
+
+
[section:error__make_error_code error::make_error_code]
@@ -23178,7 +23238,7 @@
- static const boost::system::error_category & misc_category;
+ static const boost::system::error_category & misc_category = boost::asio::error::get_misc_category();
@@ -23210,6 +23270,11 @@
[Element not found. ]
]
+ [
+ [fd_set_failure]
+ [The descriptor cannot fit into the select system call's fd_set. ]
+ ]
+
]
@@ -23222,7 +23287,7 @@
- static const boost::system::error_category & netdb_category;
+ static const boost::system::error_category & netdb_category = boost::asio::error::get_netdb_category();
@@ -23271,7 +23336,7 @@
- static const boost::system::error_category & ssl_category;
+ static const boost::system::error_category & ssl_category = boost::asio::error::get_ssl_category();
@@ -23300,7 +23365,7 @@
- static const boost::system::error_category & system_category;
+ static const boost::system::error_category & system_category = boost::asio::error::get_system_category();
@@ -27770,7 +27835,7 @@
Only return IPv4 addresses if a non-loopback IPv4 address is configured for the system. Only return IPv6 addresses if a non-loopback IPv6 address is configured for the system.
- static const int address_configured;
+ static const int address_configured = implementation_defined;
@@ -27785,7 +27850,7 @@
If used with v4_mapped, return all matching IPv6 and IPv4 addresses.
- static const int all_matching;
+ static const int all_matching = implementation_defined;
@@ -27886,7 +27951,7 @@
Determine the canonical name of the host specified in the query.
- static const int canonical_name;
+ static const int canonical_name = implementation_defined;
@@ -27925,7 +27990,7 @@
Host name should be treated as a numeric string defining an IPv4 or IPv6 address and no name resolution should be attempted.
- static const int numeric_host;
+ static const int numeric_host = implementation_defined;
@@ -27940,7 +28005,7 @@
Service name should be treated as a numeric string defining a port number and no name resolution should be attempted.
- static const int numeric_service;
+ static const int numeric_service = implementation_defined;
@@ -27955,7 +28020,7 @@
Indicate that returned endpoint is intended for use as a locally bound socket endpoint.
- static const int passive;
+ static const int passive = implementation_defined;
@@ -27995,7 +28060,7 @@
If the query protocol family is specified as IPv6, return IPv4-mapped IPv6 addresses on finding no IPv6 addresses.
- static const int v4_mapped;
+ static const int v4_mapped = implementation_defined;
@@ -28267,7 +28332,7 @@
Only return IPv4 addresses if a non-loopback IPv4 address is configured for the system. Only return IPv6 addresses if a non-loopback IPv6 address is configured for the system.
- static const int address_configured;
+ static const int address_configured = implementation_defined;
@@ -28279,7 +28344,7 @@
If used with v4_mapped, return all matching IPv6 and IPv4 addresses.
- static const int all_matching;
+ static const int all_matching = implementation_defined;
@@ -28291,7 +28356,7 @@
Determine the canonical name of the host specified in the query.
- static const int canonical_name;
+ static const int canonical_name = implementation_defined;
@@ -28303,7 +28368,7 @@
Host name should be treated as a numeric string defining an IPv4 or IPv6 address and no name resolution should be attempted.
- static const int numeric_host;
+ static const int numeric_host = implementation_defined;
@@ -28315,7 +28380,7 @@
Service name should be treated as a numeric string defining a port number and no name resolution should be attempted.
- static const int numeric_service;
+ static const int numeric_service = implementation_defined;
@@ -28327,7 +28392,7 @@
Indicate that returned endpoint is intended for use as a locally bound socket endpoint.
- static const int passive;
+ static const int passive = implementation_defined;
@@ -28339,7 +28404,7 @@
If the query protocol family is specified as IPv6, return IPv4-mapped IPv6 addresses on finding no IPv6 addresses.
- static const int v4_mapped;
+ static const int v4_mapped = implementation_defined;
@@ -33256,7 +33321,7 @@
The maximum length of the queue of pending incoming connections.
- static const int max_connections;
+ static const int max_connections = implementation_defined;
@@ -33268,7 +33333,7 @@
Specify that the data should not be subject to routing.
- static const int message_do_not_route;
+ static const int message_do_not_route = implementation_defined;
@@ -33293,7 +33358,7 @@
Process out-of-band data.
- static const int message_out_of_band;
+ static const int message_out_of_band = implementation_defined;
@@ -33305,7 +33370,7 @@
Peek at incoming data without removing it from the input queue.
- static const int message_peek;
+ static const int message_peek = implementation_defined;
@@ -33862,7 +33927,7 @@
Implement various bug workarounds.
- static const int default_workarounds;
+ static const int default_workarounds = implementation_defined;
@@ -34091,7 +34156,7 @@
Disable SSL v2.
- static const int no_sslv2;
+ static const int no_sslv2 = implementation_defined;
@@ -34106,7 +34171,7 @@
Disable SSL v3.
- static const int no_sslv3;
+ static const int no_sslv3 = implementation_defined;
@@ -34121,7 +34186,7 @@
Disable TLS v1.
- static const int no_tlsv1;
+ static const int no_tlsv1 = implementation_defined;
@@ -34450,7 +34515,7 @@
Always create a new key when using tmp_dh parameters.
- static const int single_dh_use;
+ static const int single_dh_use = implementation_defined;
@@ -34874,7 +34939,7 @@
Do not request client certificate on renegotiation. Ignored unless verify_peer is set.
- static const int verify_client_once;
+ static const int verify_client_once = implementation_defined;
@@ -34889,7 +34954,7 @@
Fail verification if the peer has no certificate. Ignored unless verify_peer is set.
- static const int verify_fail_if_no_peer_cert;
+ static const int verify_fail_if_no_peer_cert = implementation_defined;
@@ -34920,7 +34985,7 @@
No verification.
- static const int verify_none;
+ static const int verify_none = implementation_defined;
@@ -34935,7 +35000,7 @@
Verify the peer.
- static const int verify_peer;
+ static const int verify_peer = implementation_defined;
@@ -35251,7 +35316,7 @@
Implement various bug workarounds.
- static const int default_workarounds;
+ static const int default_workarounds = implementation_defined;
@@ -35367,7 +35432,7 @@
Disable SSL v2.
- static const int no_sslv2;
+ static const int no_sslv2 = implementation_defined;
@@ -35379,7 +35444,7 @@
Disable SSL v3.
- static const int no_sslv3;
+ static const int no_sslv3 = implementation_defined;
@@ -35391,7 +35456,7 @@
Disable TLS v1.
- static const int no_tlsv1;
+ static const int no_tlsv1 = implementation_defined;
@@ -35443,7 +35508,7 @@
Always create a new key when using tmp_dh parameters.
- static const int single_dh_use;
+ static const int single_dh_use = implementation_defined;
@@ -35455,7 +35520,7 @@
Do not request client certificate on renegotiation. Ignored unless verify_peer is set.
- static const int verify_client_once;
+ static const int verify_client_once = implementation_defined;
@@ -35467,7 +35532,7 @@
Fail verification if the peer has no certificate. Ignored unless verify_peer is set.
- static const int verify_fail_if_no_peer_cert;
+ static const int verify_fail_if_no_peer_cert = implementation_defined;
@@ -35492,7 +35557,7 @@
No verification.
- static const int verify_none;
+ static const int verify_none = implementation_defined;
@@ -35504,7 +35569,7 @@
Verify the peer.
- static const int verify_peer;
+ static const int verify_peer = implementation_defined;
@@ -38992,12 +39057,12 @@
[endsect]
-[section:error__addrinfo_errors__gt_ error::addrinfo_errors >]
+[section:is_error_code_enum_lt__addrinfo_errors__gt_ boost::system::is_error_code_enum< boost::asio::error::addrinfo_errors >]
template<>
- struct is_error_code_enum< boost::asio::error::addrinfo_errors >
+ struct boost::system::is_error_code_enum< boost::asio::error::addrinfo_errors >
[heading Data Members]
@@ -39005,18 +39070,18 @@
[[Name][Description]]
[
- [[link boost_asio.reference.error__addrinfo_errors__gt_.value [*value]]]
+ [[link boost_asio.reference.is_error_code_enum_lt__addrinfo_errors__gt_.value [*value]]]
[]
]
]
-[section:value error::addrinfo_errors >::value]
+[section:value boost::system::is_error_code_enum< boost::asio::error::addrinfo_errors >::value]
- static const bool value;
+ static const bool value = true;
@@ -39026,12 +39091,12 @@
[endsect]
-[section:error__basic_errors__gt_ error::basic_errors >]
+[section:is_error_code_enum_lt__basic_errors__gt_ boost::system::is_error_code_enum< boost::asio::error::basic_errors >]
template<>
- struct is_error_code_enum< boost::asio::error::basic_errors >
+ struct boost::system::is_error_code_enum< boost::asio::error::basic_errors >
[heading Data Members]
@@ -39039,18 +39104,18 @@
[[Name][Description]]
[
- [[link boost_asio.reference.error__basic_errors__gt_.value [*value]]]
+ [[link boost_asio.reference.is_error_code_enum_lt__basic_errors__gt_.value [*value]]]
[]
]
]
-[section:value error::basic_errors >::value]
+[section:value boost::system::is_error_code_enum< boost::asio::error::basic_errors >::value]
- static const bool value;
+ static const bool value = true;
@@ -39060,12 +39125,12 @@
[endsect]
-[section:error__misc_errors__gt_ error::misc_errors >]
+[section:is_error_code_enum_lt__misc_errors__gt_ boost::system::is_error_code_enum< boost::asio::error::misc_errors >]
template<>
- struct is_error_code_enum< boost::asio::error::misc_errors >
+ struct boost::system::is_error_code_enum< boost::asio::error::misc_errors >
[heading Data Members]
@@ -39073,18 +39138,18 @@
[[Name][Description]]
[
- [[link boost_asio.reference.error__misc_errors__gt_.value [*value]]]
+ [[link boost_asio.reference.is_error_code_enum_lt__misc_errors__gt_.value [*value]]]
[]
]
]
-[section:value error::misc_errors >::value]
+[section:value boost::system::is_error_code_enum< boost::asio::error::misc_errors >::value]
- static const bool value;
+ static const bool value = true;
@@ -39094,12 +39159,12 @@
[endsect]
-[section:error__netdb_errors__gt_ error::netdb_errors >]
+[section:is_error_code_enum_lt__netdb_errors__gt_ boost::system::is_error_code_enum< boost::asio::error::netdb_errors >]
template<>
- struct is_error_code_enum< boost::asio::error::netdb_errors >
+ struct boost::system::is_error_code_enum< boost::asio::error::netdb_errors >
[heading Data Members]
@@ -39107,18 +39172,18 @@
[[Name][Description]]
[
- [[link boost_asio.reference.error__netdb_errors__gt_.value [*value]]]
+ [[link boost_asio.reference.is_error_code_enum_lt__netdb_errors__gt_.value [*value]]]
[]
]
]
-[section:value error::netdb_errors >::value]
+[section:value boost::system::is_error_code_enum< boost::asio::error::netdb_errors >::value]
- static const bool value;
+ static const bool value = true;
@@ -39128,12 +39193,12 @@
[endsect]
-[section:error__ssl_errors__gt_ error::ssl_errors >]
+[section:is_error_code_enum_lt__ssl_errors__gt_ boost::system::is_error_code_enum< boost::asio::error::ssl_errors >]
template<>
- struct is_error_code_enum< boost::asio::error::ssl_errors >
+ struct boost::system::is_error_code_enum< boost::asio::error::ssl_errors >
[heading Data Members]
@@ -39141,18 +39206,18 @@
[[Name][Description]]
[
- [[link boost_asio.reference.error__ssl_errors__gt_.value [*value]]]
+ [[link boost_asio.reference.is_error_code_enum_lt__ssl_errors__gt_.value [*value]]]
[]
]
]
-[section:value error::ssl_errors >::value]
+[section:value boost::system::is_error_code_enum< boost::asio::error::ssl_errors >::value]
- static const bool value;
+ static const bool value = true;
Modified: branches/release/libs/asio/doc/reference.xsl
==============================================================================
--- branches/release/libs/asio/doc/reference.xsl (original)
+++ branches/release/libs/asio/doc/reference.xsl 2007-12-15 17:00:19 EST (Sat, 15 Dec 2007)
@@ -103,6 +103,9 @@
<xsl:template name="strip-asio-ns">
<xsl:param name="name"/>
<xsl:choose>
+ <xsl:when test="contains($name, 'boost::system::is_error_code_enum')">
+ <xsl:value-of select="$name"/>
+ </xsl:when>
<xsl:when test="contains($name, 'asio::')">
<xsl:value-of select="substring-after($name, 'asio::')"/>
</xsl:when>
@@ -116,6 +119,9 @@
<xsl:template name="strip-ns">
<xsl:param name="name"/>
<xsl:choose>
+ <xsl:when test="contains($name, 'boost::system::is_error_code_enum')">
+ <xsl:value-of select="$name"/>
+ </xsl:when>
<xsl:when test="contains($name, '::') and contains($name, '<')">
<xsl:choose>
<xsl:when test="string-length(substring-before($name, '::')) < string-length(substring-before($name, '<'))">
@@ -143,6 +149,18 @@
<xsl:template name="make-id">
<xsl:param name="name"/>
<xsl:choose>
+ <xsl:when test="contains($name, 'boost::system::')">
+ <xsl:call-template name="make-id">
+ <xsl:with-param name="name"
+ select="substring-after($name, 'boost::system::')"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="contains($name, 'boost::asio::error::')">
+ <xsl:call-template name="make-id">
+ <xsl:with-param name="name"
+ select="concat(substring-before($name, 'boost::asio::error::'), substring-after($name, 'boost::asio::error::'))"/>
+ </xsl:call-template>
+ </xsl:when>
<xsl:when test="contains($name, '::')">
<xsl:call-template name="make-id">
<xsl:with-param name="name"
@@ -793,7 +811,9 @@
<xsl:template name="variable">
<xsl:text>
</xsl:text><xsl:if test="@static='yes'">static </xsl:if><xsl:value-of
- select="type"/><xsl:text> </xsl:text><xsl:value-of select="name"/>;
+ select="type"/><xsl:text> </xsl:text><xsl:value-of select="name"/>
+ <xsl:if test="count(initializer) = 1"><xsl:text> =</xsl:text>
+ <xsl:value-of select="initializer"/></xsl:if>;
</xsl:template>
Modified: branches/release/libs/asio/example/chat/chat_client.cpp
==============================================================================
--- branches/release/libs/asio/example/chat/chat_client.cpp (original)
+++ branches/release/libs/asio/example/chat/chat_client.cpp 2007-12-15 17:00:19 EST (Sat, 15 Dec 2007)
@@ -11,9 +11,9 @@
#include <cstdlib>
#include <deque>
#include <iostream>
-#include <boost/thread.hpp>
#include <boost/bind.hpp>
#include <boost/asio.hpp>
+#include <boost/thread.hpp>
#include "chat_message.hpp"
using boost::asio::ip::tcp;
Modified: branches/release/libs/asio/example/echo/blocking_tcp_echo_server.cpp
==============================================================================
--- branches/release/libs/asio/example/echo/blocking_tcp_echo_server.cpp (original)
+++ branches/release/libs/asio/example/echo/blocking_tcp_echo_server.cpp 2007-12-15 17:00:19 EST (Sat, 15 Dec 2007)
@@ -10,10 +10,10 @@
#include <cstdlib>
#include <iostream>
-#include <boost/thread.hpp>
#include <boost/bind.hpp>
#include <boost/smart_ptr.hpp>
#include <boost/asio.hpp>
+#include <boost/thread.hpp>
using boost::asio::ip::tcp;
Modified: branches/release/libs/asio/test/io_service.cpp
==============================================================================
--- branches/release/libs/asio/test/io_service.cpp (original)
+++ branches/release/libs/asio/test/io_service.cpp 2007-12-15 17:00:19 EST (Sat, 15 Dec 2007)
@@ -17,9 +17,9 @@
#include <boost/asio/io_service.hpp>
#include <sstream>
-#include <boost/thread.hpp>
#include <boost/bind.hpp>
#include <boost/asio.hpp>
+#include <boost/thread.hpp>
#include "unit_test.hpp"
using namespace boost::asio;
Modified: branches/release/libs/asio/test/strand.cpp
==============================================================================
--- branches/release/libs/asio/test/strand.cpp (original)
+++ branches/release/libs/asio/test/strand.cpp 2007-12-15 17:00:19 EST (Sat, 15 Dec 2007)
@@ -17,9 +17,9 @@
#include <boost/asio/strand.hpp>
#include <sstream>
-#include <boost/thread.hpp>
#include <boost/bind.hpp>
#include <boost/asio.hpp>
+#include <boost/thread.hpp>
#include "unit_test.hpp"
using namespace boost::asio;
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk