sync with asio 1.0 release and update lt 2147

This commit is contained in:
Marcos Pinto 2008-04-06 21:12:32 +00:00
commit a530367fd7
175 changed files with 436 additions and 342 deletions

View file

@ -2,7 +2,7 @@
// basic_datagram_socket.hpp // basic_datagram_socket.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// basic_deadline_timer.hpp // basic_deadline_timer.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// basic_io_object.hpp // basic_io_object.hpp
// ~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// basic_socket.hpp // basic_socket.hpp
// ~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@ -17,6 +17,10 @@
#include "asio/detail/push_options.hpp" #include "asio/detail/push_options.hpp"
#include "asio/detail/push_options.hpp"
#include <boost/config.hpp>
#include "asio/detail/pop_options.hpp"
#include "asio/basic_io_object.hpp" #include "asio/basic_io_object.hpp"
#include "asio/error.hpp" #include "asio/error.hpp"
#include "asio/socket_base.hpp" #include "asio/socket_base.hpp"
@ -295,7 +299,40 @@ public:
* will be passed the asio::error::operation_aborted error. * will be passed the asio::error::operation_aborted error.
* *
* @throws asio::system_error Thrown on failure. * @throws asio::system_error Thrown on failure.
*
* @note Calls to cancel() will always fail with
* asio::error::operation_not_supported when run on Windows XP, Windows
* Server 2003, and earlier versions of Windows, unless
* ASIO_ENABLE_CANCELIO is defined. However, the CancelIo function has
* two issues that should be considered before enabling its use:
*
* @li It will only cancel asynchronous operations that were initiated in the
* current thread.
*
* @li It can appear to complete without error, but the request to cancel the
* unfinished operations may be silently ignored by the operating system.
* Whether it works or not seems to depend on the drivers that are installed.
*
* For portable cancellation, consider using one of the following
* alternatives:
*
* @li Disable asio's I/O completion port backend by defining
* ASIO_DISABLE_IOCP.
*
* @li Use the close() function to simultaneously cancel the outstanding
* operations and close the socket.
*
* When running on Windows Vista, Windows Server 2008, and later, the
* CancelIoEx function is always used. This function does not have the
* problems described above.
*/ */
#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400) \
&& (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0600) \
&& !defined(ASIO_ENABLE_CANCELIO)
__declspec(deprecated("By default, this function always fails with "
"operation_not_supported when used on Windows XP, Windows Server 2003, "
"or earlier. Consult documentation for details."))
#endif
void cancel() void cancel()
{ {
asio::error_code ec; asio::error_code ec;
@ -310,7 +347,40 @@ public:
* will be passed the asio::error::operation_aborted error. * will be passed the asio::error::operation_aborted error.
* *
* @param ec Set to indicate what error occurred, if any. * @param ec Set to indicate what error occurred, if any.
*
* @note Calls to cancel() will always fail with
* asio::error::operation_not_supported when run on Windows XP, Windows
* Server 2003, and earlier versions of Windows, unless
* ASIO_ENABLE_CANCELIO is defined. However, the CancelIo function has
* two issues that should be considered before enabling its use:
*
* @li It will only cancel asynchronous operations that were initiated in the
* current thread.
*
* @li It can appear to complete without error, but the request to cancel the
* unfinished operations may be silently ignored by the operating system.
* Whether it works or not seems to depend on the drivers that are installed.
*
* For portable cancellation, consider using one of the following
* alternatives:
*
* @li Disable asio's I/O completion port backend by defining
* ASIO_DISABLE_IOCP.
*
* @li Use the close() function to simultaneously cancel the outstanding
* operations and close the socket.
*
* When running on Windows Vista, Windows Server 2008, and later, the
* CancelIoEx function is always used. This function does not have the
* problems described above.
*/ */
#if defined(BOOST_MSVC) && (BOOST_MSVC >= 1400) \
&& (!defined(_WIN32_WINNT) || _WIN32_WINNT < 0x0600) \
&& !defined(ASIO_ENABLE_CANCELIO)
__declspec(deprecated("By default, this function always fails with "
"operation_not_supported when used on Windows XP, Windows Server 2003, "
"or earlier. Consult documentation for details."))
#endif
asio::error_code cancel(asio::error_code& ec) asio::error_code cancel(asio::error_code& ec)
{ {
return this->service.cancel(this->implementation, ec); return this->service.cancel(this->implementation, ec);

View file

@ -2,7 +2,7 @@
// basic_socket_acceptor.hpp // basic_socket_acceptor.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// basic_socket_iostream.hpp // basic_socket_iostream.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@ -49,6 +49,7 @@
: std::basic_iostream<char>(&this->boost::base_from_member< \ : std::basic_iostream<char>(&this->boost::base_from_member< \
basic_socket_streambuf<Protocol, StreamSocketService> >::member) \ basic_socket_streambuf<Protocol, StreamSocketService> >::member) \
{ \ { \
tie(this); \
if (rdbuf()->connect(BOOST_PP_ENUM_PARAMS(n, x)) == 0) \ if (rdbuf()->connect(BOOST_PP_ENUM_PARAMS(n, x)) == 0) \
this->setstate(std::ios_base::failbit); \ this->setstate(std::ios_base::failbit); \
} \ } \
@ -88,6 +89,7 @@ public:
: std::basic_iostream<char>(&this->boost::base_from_member< : std::basic_iostream<char>(&this->boost::base_from_member<
basic_socket_streambuf<Protocol, StreamSocketService> >::member) basic_socket_streambuf<Protocol, StreamSocketService> >::member)
{ {
tie(this);
} }
#if defined(GENERATING_DOCUMENTATION) #if defined(GENERATING_DOCUMENTATION)

View file

@ -2,7 +2,7 @@
// basic_socket_streambuf.hpp // basic_socket_streambuf.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// basic_stream_socket.hpp // basic_stream_socket.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// basic_streambuf.hpp // basic_streambuf.hpp
// ~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// buffer.hpp // buffer.hpp
// ~~~~~~~~~~ // ~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// buffered_read_stream.hpp // buffered_read_stream.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// buffered_read_stream_fwd.hpp // buffered_read_stream_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// buffered_stream.hpp // buffered_stream.hpp
// ~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// buffered_stream_fwd.hpp // buffered_stream_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// buffered_write_stream.hpp // buffered_write_stream.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// buffered_write_stream_fwd.hpp // buffered_write_stream_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// completion_condition.hpp // completion_condition.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// datagram_socket_service.hpp // datagram_socket_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// deadline_timer.hpp // deadline_timer.hpp
// ~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// deadline_timer_service.hpp // deadline_timer_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// bind_handler.hpp // bind_handler.hpp
// ~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// buffer_resize_guard.hpp // buffer_resize_guard.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// buffered_stream_storage.hpp // buffered_stream_storage.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// call_stack.hpp // call_stack.hpp
// ~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// const_buffers_iterator.hpp // const_buffers_iterator.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// consuming_buffers.hpp // consuming_buffers.hpp
// ~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// deadline_timer_service.hpp // deadline_timer_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// dev_poll_reactor.hpp // dev_poll_reactor.hpp
// ~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// dev_poll_reactor_fwd.hpp // dev_poll_reactor_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// epoll_reactor.hpp // epoll_reactor.hpp
// ~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// epoll_reactor_fwd.hpp // epoll_reactor_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// event.hpp // event.hpp
// ~~~~~~~~~ // ~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// fd_set_adapter.hpp // fd_set_adapter.hpp
// ~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// handler_alloc_helpers.hpp // handler_alloc_helpers.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// handler_invoke_helpers.hpp // handler_invoke_helpers.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// handler_queue.hpp // handler_queue.hpp
// ~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// hash_map.hpp // hash_map.hpp
// ~~~~~~~~~~~~ // ~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// io_control.hpp // io_control.hpp
// ~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// kqueue_reactor.hpp // kqueue_reactor.hpp
// ~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2005 Stefan Arentz (stefan at soze dot com) // Copyright (c) 2005 Stefan Arentz (stefan at soze dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // Distributed under the Boost Software License, Version 1.0. (See accompanying

View file

@ -2,7 +2,7 @@
// kqueue_reactor_fwd.hpp // kqueue_reactor_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// Copyright (c) 2005 Stefan Arentz (stefan at soze dot com) // Copyright (c) 2005 Stefan Arentz (stefan at soze dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // Distributed under the Boost Software License, Version 1.0. (See accompanying

View file

@ -2,7 +2,7 @@
// local_free_on_block_exit.hpp // local_free_on_block_exit.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// mutex.hpp // mutex.hpp
// ~~~~~~~~~ // ~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// noncopyable.hpp // noncopyable.hpp
// ~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// null_event.hpp // null_event.hpp
// ~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// null_mutex.hpp // null_mutex.hpp
// ~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// null_signal_blocker.hpp // null_signal_blocker.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// null_thread.hpp // null_thread.hpp
// ~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// null_tss_ptr.hpp // null_tss_ptr.hpp
// ~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// old_win_sdk_compat.hpp // old_win_sdk_compat.hpp
// ~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// pipe_select_interrupter.hpp // pipe_select_interrupter.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// pop_options.hpp // pop_options.hpp
// ~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// posix_event.hpp // posix_event.hpp
// ~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// posix_fd_set_adapter.hpp // posix_fd_set_adapter.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// posix_mutex.hpp // posix_mutex.hpp
// ~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// posix_signal_blocker.hpp // posix_signal_blocker.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// posix_thread.hpp // posix_thread.hpp
// ~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// posix_tss_ptr.hpp // posix_tss_ptr.hpp
// ~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// push_options.hpp // push_options.hpp
// ~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// reactive_socket_service.hpp // reactive_socket_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// reactor_op_queue.hpp // reactor_op_queue.hpp
// ~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// resolver_service.hpp // resolver_service.hpp
// ~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// scoped_lock.hpp // scoped_lock.hpp
// ~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// select_interrupter.hpp // select_interrupter.hpp
// ~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// select_reactor.hpp // select_reactor.hpp
// ~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// select_reactor_fwd.hpp // select_reactor_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// service_base.hpp // service_base.hpp
// ~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// service_id.hpp // service_id.hpp
// ~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// service_registry.hpp // service_registry.hpp
// ~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// service_registry_fwd.hpp // service_registry_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// signal_blocker.hpp // signal_blocker.hpp
// ~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// signal_init.hpp // signal_init.hpp
// ~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// socket_holder.hpp // socket_holder.hpp
// ~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// socket_ops.hpp // socket_ops.hpp
// ~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@ -698,40 +698,40 @@ inline const char* inet_ntop(int af, const void* src, char* dest, size_t length,
return 0; return 0;
} }
sockaddr_storage_type address; union
{
socket_addr_type base;
sockaddr_storage_type storage;
sockaddr_in4_type v4;
sockaddr_in6_type v6;
} address;
DWORD address_length; DWORD address_length;
if (af == AF_INET) if (af == AF_INET)
{ {
address_length = sizeof(sockaddr_in4_type); address_length = sizeof(sockaddr_in4_type);
sockaddr_in4_type* ipv4_address = address.v4.sin_family = AF_INET;
reinterpret_cast<sockaddr_in4_type*>(&address); address.v4.sin_port = 0;
ipv4_address->sin_family = AF_INET; memcpy(&address.v4.sin_addr, src, sizeof(in4_addr_type));
ipv4_address->sin_port = 0;
memcpy(&ipv4_address->sin_addr, src, sizeof(in4_addr_type));
} }
else // AF_INET6 else // AF_INET6
{ {
address_length = sizeof(sockaddr_in6_type); address_length = sizeof(sockaddr_in6_type);
sockaddr_in6_type* ipv6_address = address.v6.sin6_family = AF_INET6;
reinterpret_cast<sockaddr_in6_type*>(&address); address.v6.sin6_port = 0;
ipv6_address->sin6_family = AF_INET6; address.v6.sin6_flowinfo = 0;
ipv6_address->sin6_port = 0; address.v6.sin6_scope_id = scope_id;
ipv6_address->sin6_flowinfo = 0; memcpy(&address.v6.sin6_addr, src, sizeof(in6_addr_type));
ipv6_address->sin6_scope_id = scope_id;
memcpy(&ipv6_address->sin6_addr, src, sizeof(in6_addr_type));
} }
DWORD string_length = static_cast<DWORD>(length); DWORD string_length = static_cast<DWORD>(length);
#if defined(BOOST_NO_ANSI_APIS) #if defined(BOOST_NO_ANSI_APIS)
LPWSTR string_buffer = (LPWSTR)_alloca(length * sizeof(WCHAR)); LPWSTR string_buffer = (LPWSTR)_alloca(length * sizeof(WCHAR));
int result = error_wrapper(::WSAAddressToStringW( int result = error_wrapper(::WSAAddressToStringW(&address.base,
reinterpret_cast<sockaddr*>(&address),
address_length, 0, string_buffer, &string_length), ec); address_length, 0, string_buffer, &string_length), ec);
::WideCharToMultiByte(CP_ACP, 0, string_buffer, -1, dest, length, 0, 0); ::WideCharToMultiByte(CP_ACP, 0, string_buffer, -1, dest, length, 0, 0);
#else #else
int result = error_wrapper(::WSAAddressToStringA( int result = error_wrapper(::WSAAddressToStringA(
reinterpret_cast<sockaddr*>(&address), &address.base, address_length, 0, dest, &string_length), ec);
address_length, 0, dest, &string_length), ec);
#endif #endif
// Windows may set error code on success. // Windows may set error code on success.
@ -774,30 +774,30 @@ inline int inet_pton(int af, const char* src, void* dest,
return -1; return -1;
} }
sockaddr_storage_type address; union
{
socket_addr_type base;
sockaddr_storage_type storage;
sockaddr_in4_type v4;
sockaddr_in6_type v6;
} address;
int address_length = sizeof(sockaddr_storage_type); int address_length = sizeof(sockaddr_storage_type);
#if defined(BOOST_NO_ANSI_APIS) #if defined(BOOST_NO_ANSI_APIS)
int num_wide_chars = strlen(src) + 1; int num_wide_chars = strlen(src) + 1;
LPWSTR wide_buffer = (LPWSTR)_alloca(num_wide_chars * sizeof(WCHAR)); LPWSTR wide_buffer = (LPWSTR)_alloca(num_wide_chars * sizeof(WCHAR));
::MultiByteToWideChar(CP_ACP, 0, src, -1, wide_buffer, num_wide_chars); ::MultiByteToWideChar(CP_ACP, 0, src, -1, wide_buffer, num_wide_chars);
int result = error_wrapper(::WSAStringToAddressW( int result = error_wrapper(::WSAStringToAddressW(
wide_buffer, af, 0, wide_buffer, af, 0, &address.base, &address_length), ec);
reinterpret_cast<sockaddr*>(&address),
&address_length), ec);
#else #else
int result = error_wrapper(::WSAStringToAddressA( int result = error_wrapper(::WSAStringToAddressA(
const_cast<char*>(src), af, 0, const_cast<char*>(src), af, 0, &address.base, &address_length), ec);
reinterpret_cast<sockaddr*>(&address),
&address_length), ec);
#endif #endif
if (af == AF_INET) if (af == AF_INET)
{ {
if (result != socket_error_retval) if (result != socket_error_retval)
{ {
sockaddr_in4_type* ipv4_address = memcpy(dest, &address.v4.sin_addr, sizeof(in4_addr_type));
reinterpret_cast<sockaddr_in4_type*>(&address);
memcpy(dest, &ipv4_address->sin_addr, sizeof(in4_addr_type));
clear_error(ec); clear_error(ec);
} }
else if (strcmp(src, "255.255.255.255") == 0) else if (strcmp(src, "255.255.255.255") == 0)
@ -810,11 +810,9 @@ inline int inet_pton(int af, const char* src, void* dest,
{ {
if (result != socket_error_retval) if (result != socket_error_retval)
{ {
sockaddr_in6_type* ipv6_address = memcpy(dest, &address.v6.sin6_addr, sizeof(in6_addr_type));
reinterpret_cast<sockaddr_in6_type*>(&address);
memcpy(dest, &ipv6_address->sin6_addr, sizeof(in6_addr_type));
if (scope_id) if (scope_id)
*scope_id = ipv6_address->sin6_scope_id; *scope_id = address.v6.sin6_scope_id;
clear_error(ec); clear_error(ec);
} }
} }

View file

@ -2,7 +2,7 @@
// socket_option.hpp // socket_option.hpp
// ~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// socket_select_interrupter.hpp // socket_select_interrupter.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// socket_types.hpp // socket_types.hpp
// ~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// strand_service.hpp // strand_service.hpp
// ~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@ -427,10 +427,9 @@ public:
if (impl->current_handler_ == 0) if (impl->current_handler_ == 0)
{ {
// This handler now has the lock, so can be dispatched immediately. // This handler now has the lock, so can be dispatched immediately.
impl->current_handler_ = ptr.get(); impl->current_handler_ = ptr.release();
lock.unlock(); lock.unlock();
this->get_io_service().dispatch(invoke_current_handler(*this, impl)); this->get_io_service().dispatch(invoke_current_handler(*this, impl));
ptr.release();
} }
else else
{ {
@ -467,10 +466,9 @@ public:
if (impl->current_handler_ == 0) if (impl->current_handler_ == 0)
{ {
// This handler now has the lock, so can be dispatched immediately. // This handler now has the lock, so can be dispatched immediately.
impl->current_handler_ = ptr.get(); impl->current_handler_ = ptr.release();
lock.unlock(); lock.unlock();
this->get_io_service().post(invoke_current_handler(*this, impl)); this->get_io_service().post(invoke_current_handler(*this, impl));
ptr.release();
} }
else else
{ {

View file

@ -2,7 +2,7 @@
// task_io_service.hpp // task_io_service.hpp
// ~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// task_io_service_fwd.hpp // task_io_service_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// thread.hpp // thread.hpp
// ~~~~~~~~~~ // ~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// throw_error.hpp // throw_error.hpp
// ~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// timer_queue.hpp // timer_queue.hpp
// ~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// timer_queue_base.hpp // timer_queue_base.hpp
// ~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// tss_ptr.hpp // tss_ptr.hpp
// ~~~~~~~~~~~ // ~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// win_event.hpp // win_event.hpp
// ~~~~~~~~~~~~~ // ~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// win_fd_set_adapter.hpp // win_fd_set_adapter.hpp
// ~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// win_iocp_io_service.hpp // win_iocp_io_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@ -392,7 +392,7 @@ private:
&timer_thread_, this_thread_id, 0) == 0); &timer_thread_, this_thread_id, 0) == 0);
// Calculate timeout for GetQueuedCompletionStatus call. // Calculate timeout for GetQueuedCompletionStatus call.
DWORD timeout = INFINITE; DWORD timeout = max_timeout;
if (dispatching_timers) if (dispatching_timers)
{ {
asio::detail::mutex::scoped_lock lock(timer_mutex_); asio::detail::mutex::scoped_lock lock(timer_mutex_);
@ -420,11 +420,11 @@ private:
{ {
asio::detail::mutex::scoped_lock lock(timer_mutex_); asio::detail::mutex::scoped_lock lock(timer_mutex_);
timer_queues_copy_ = timer_queues_; timer_queues_copy_ = timer_queues_;
for (std::size_t i = 0; i < timer_queues_.size(); ++i) for (std::size_t i = 0; i < timer_queues_copy_.size(); ++i)
{ {
timer_queues_[i]->dispatch_timers(); timer_queues_copy_[i]->dispatch_timers();
timer_queues_[i]->dispatch_cancellations(); timer_queues_copy_[i]->dispatch_cancellations();
timer_queues_[i]->cleanup_timers(); timer_queues_copy_[i]->cleanup_timers();
} }
} }
catch (...) catch (...)

View file

@ -2,7 +2,7 @@
// win_iocp_io_service_fwd.hpp // win_iocp_io_service_fwd.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// win_iocp_socket_service.hpp // win_iocp_socket_service.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@ -155,11 +155,13 @@ public:
// The protocol associated with the socket. // The protocol associated with the socket.
protocol_type protocol_; protocol_type protocol_;
#if defined(ASIO_ENABLE_CANCELIO)
// The ID of the thread from which it is safe to cancel asynchronous // The ID of the thread from which it is safe to cancel asynchronous
// operations. 0 means no asynchronous operations have been started yet. // operations. 0 means no asynchronous operations have been started yet.
// ~0 means asynchronous operations have been started from more than one // ~0 means asynchronous operations have been started from more than one
// thread, and cancellation is not supported for the socket. // thread, and cancellation is not supported for the socket.
DWORD safe_cancellation_thread_id_; DWORD safe_cancellation_thread_id_;
#endif // defined(ASIO_ENABLE_CANCELIO)
// Pointers to adjacent socket implementations in linked list. // Pointers to adjacent socket implementations in linked list.
implementation_type* next_; implementation_type* next_;
@ -203,7 +205,9 @@ public:
impl.socket_ = invalid_socket; impl.socket_ = invalid_socket;
impl.flags_ = 0; impl.flags_ = 0;
impl.cancel_token_.reset(); impl.cancel_token_.reset();
#if defined(ASIO_ENABLE_CANCELIO)
impl.safe_cancellation_thread_id_ = 0; impl.safe_cancellation_thread_id_ = 0;
#endif // defined(ASIO_ENABLE_CANCELIO)
// Insert implementation into linked list of all implementations. // Insert implementation into linked list of all implementations.
asio::detail::mutex::scoped_lock lock(mutex_); asio::detail::mutex::scoped_lock lock(mutex_);
@ -305,7 +309,9 @@ public:
impl.socket_ = invalid_socket; impl.socket_ = invalid_socket;
impl.flags_ = 0; impl.flags_ = 0;
impl.cancel_token_.reset(); impl.cancel_token_.reset();
#if defined(ASIO_ENABLE_CANCELIO)
impl.safe_cancellation_thread_id_ = 0; impl.safe_cancellation_thread_id_ = 0;
#endif // defined(ASIO_ENABLE_CANCELIO)
} }
ec = asio::error_code(); ec = asio::error_code();
@ -337,14 +343,25 @@ public:
if (!cancel_io_ex(sock_as_handle, 0)) if (!cancel_io_ex(sock_as_handle, 0))
{ {
DWORD last_error = ::GetLastError(); DWORD last_error = ::GetLastError();
ec = asio::error_code(last_error, if (last_error == ERROR_NOT_FOUND)
asio::error::get_system_category()); {
// ERROR_NOT_FOUND means that there were no operations to be
// cancelled. We swallow this error to match the behaviour on other
// platforms.
ec = asio::error_code();
}
else
{
ec = asio::error_code(last_error,
asio::error::get_system_category());
}
} }
else else
{ {
ec = asio::error_code(); ec = asio::error_code();
} }
} }
#if defined(ASIO_ENABLE_CANCELIO)
else if (impl.safe_cancellation_thread_id_ == 0) else if (impl.safe_cancellation_thread_id_ == 0)
{ {
// No operations have been started, so there's nothing to cancel. // No operations have been started, so there's nothing to cancel.
@ -373,6 +390,13 @@ public:
// so cancellation is not safe. // so cancellation is not safe.
ec = asio::error::operation_not_supported; ec = asio::error::operation_not_supported;
} }
#else // defined(ASIO_ENABLE_CANCELIO)
else
{
// Cancellation is not supported as CancelIo may not be used.
ec = asio::error::operation_not_supported;
}
#endif // defined(ASIO_ENABLE_CANCELIO)
return ec; return ec;
} }
@ -772,11 +796,13 @@ public:
return; return;
} }
#if defined(ASIO_ENABLE_CANCELIO)
// Update the ID of the thread from which cancellation is safe. // Update the ID of the thread from which cancellation is safe.
if (impl.safe_cancellation_thread_id_ == 0) if (impl.safe_cancellation_thread_id_ == 0)
impl.safe_cancellation_thread_id_ = ::GetCurrentThreadId(); impl.safe_cancellation_thread_id_ = ::GetCurrentThreadId();
else if (impl.safe_cancellation_thread_id_ != ::GetCurrentThreadId()) else if (impl.safe_cancellation_thread_id_ != ::GetCurrentThreadId())
impl.safe_cancellation_thread_id_ = ~DWORD(0); impl.safe_cancellation_thread_id_ = ~DWORD(0);
#endif // defined(ASIO_ENABLE_CANCELIO)
// Allocate and construct an operation to wrap the handler. // Allocate and construct an operation to wrap the handler.
typedef send_operation<ConstBufferSequence, Handler> value_type; typedef send_operation<ConstBufferSequence, Handler> value_type;
@ -963,11 +989,13 @@ public:
return; return;
} }
#if defined(ASIO_ENABLE_CANCELIO)
// Update the ID of the thread from which cancellation is safe. // Update the ID of the thread from which cancellation is safe.
if (impl.safe_cancellation_thread_id_ == 0) if (impl.safe_cancellation_thread_id_ == 0)
impl.safe_cancellation_thread_id_ = ::GetCurrentThreadId(); impl.safe_cancellation_thread_id_ = ::GetCurrentThreadId();
else if (impl.safe_cancellation_thread_id_ != ::GetCurrentThreadId()) else if (impl.safe_cancellation_thread_id_ != ::GetCurrentThreadId())
impl.safe_cancellation_thread_id_ = ~DWORD(0); impl.safe_cancellation_thread_id_ = ~DWORD(0);
#endif // defined(ASIO_ENABLE_CANCELIO)
// Allocate and construct an operation to wrap the handler. // Allocate and construct an operation to wrap the handler.
typedef send_to_operation<ConstBufferSequence, Handler> value_type; typedef send_to_operation<ConstBufferSequence, Handler> value_type;
@ -1174,11 +1202,13 @@ public:
return; return;
} }
#if defined(ASIO_ENABLE_CANCELIO)
// Update the ID of the thread from which cancellation is safe. // Update the ID of the thread from which cancellation is safe.
if (impl.safe_cancellation_thread_id_ == 0) if (impl.safe_cancellation_thread_id_ == 0)
impl.safe_cancellation_thread_id_ = ::GetCurrentThreadId(); impl.safe_cancellation_thread_id_ = ::GetCurrentThreadId();
else if (impl.safe_cancellation_thread_id_ != ::GetCurrentThreadId()) else if (impl.safe_cancellation_thread_id_ != ::GetCurrentThreadId())
impl.safe_cancellation_thread_id_ = ~DWORD(0); impl.safe_cancellation_thread_id_ = ~DWORD(0);
#endif // defined(ASIO_ENABLE_CANCELIO)
// Allocate and construct an operation to wrap the handler. // Allocate and construct an operation to wrap the handler.
typedef receive_operation<MutableBufferSequence, Handler> value_type; typedef receive_operation<MutableBufferSequence, Handler> value_type;
@ -1394,11 +1424,13 @@ public:
return; return;
} }
#if defined(ASIO_ENABLE_CANCELIO)
// Update the ID of the thread from which cancellation is safe. // Update the ID of the thread from which cancellation is safe.
if (impl.safe_cancellation_thread_id_ == 0) if (impl.safe_cancellation_thread_id_ == 0)
impl.safe_cancellation_thread_id_ = ::GetCurrentThreadId(); impl.safe_cancellation_thread_id_ = ::GetCurrentThreadId();
else if (impl.safe_cancellation_thread_id_ != ::GetCurrentThreadId()) else if (impl.safe_cancellation_thread_id_ != ::GetCurrentThreadId())
impl.safe_cancellation_thread_id_ = ~DWORD(0); impl.safe_cancellation_thread_id_ = ~DWORD(0);
#endif // defined(ASIO_ENABLE_CANCELIO)
// Allocate and construct an operation to wrap the handler. // Allocate and construct an operation to wrap the handler.
typedef receive_from_operation<MutableBufferSequence, Handler> value_type; typedef receive_from_operation<MutableBufferSequence, Handler> value_type;
@ -1718,11 +1750,13 @@ public:
return; return;
} }
#if defined(ASIO_ENABLE_CANCELIO)
// Update the ID of the thread from which cancellation is safe. // Update the ID of the thread from which cancellation is safe.
if (impl.safe_cancellation_thread_id_ == 0) if (impl.safe_cancellation_thread_id_ == 0)
impl.safe_cancellation_thread_id_ = ::GetCurrentThreadId(); impl.safe_cancellation_thread_id_ = ::GetCurrentThreadId();
else if (impl.safe_cancellation_thread_id_ != ::GetCurrentThreadId()) else if (impl.safe_cancellation_thread_id_ != ::GetCurrentThreadId())
impl.safe_cancellation_thread_id_ = ~DWORD(0); impl.safe_cancellation_thread_id_ = ~DWORD(0);
#endif // defined(ASIO_ENABLE_CANCELIO)
// Create a new socket for the connection. // Create a new socket for the connection.
asio::error_code ec; asio::error_code ec;
@ -1892,11 +1926,13 @@ public:
return; return;
} }
#if defined(ASIO_ENABLE_CANCELIO)
// Update the ID of the thread from which cancellation is safe. // Update the ID of the thread from which cancellation is safe.
if (impl.safe_cancellation_thread_id_ == 0) if (impl.safe_cancellation_thread_id_ == 0)
impl.safe_cancellation_thread_id_ = ::GetCurrentThreadId(); impl.safe_cancellation_thread_id_ = ::GetCurrentThreadId();
else if (impl.safe_cancellation_thread_id_ != ::GetCurrentThreadId()) else if (impl.safe_cancellation_thread_id_ != ::GetCurrentThreadId())
impl.safe_cancellation_thread_id_ = ~DWORD(0); impl.safe_cancellation_thread_id_ = ~DWORD(0);
#endif // defined(ASIO_ENABLE_CANCELIO)
// Check if the reactor was already obtained from the io_service. // Check if the reactor was already obtained from the io_service.
reactor_type* reactor = static_cast<reactor_type*>( reactor_type* reactor = static_cast<reactor_type*>(
@ -1996,7 +2032,9 @@ private:
impl.socket_ = invalid_socket; impl.socket_ = invalid_socket;
impl.flags_ = 0; impl.flags_ = 0;
impl.cancel_token_.reset(); impl.cancel_token_.reset();
#if defined(ASIO_ENABLE_CANCELIO)
impl.safe_cancellation_thread_id_ = 0; impl.safe_cancellation_thread_id_ = 0;
#endif // defined(ASIO_ENABLE_CANCELIO)
} }
} }

View file

@ -2,7 +2,7 @@
// win_mutex.hpp // win_mutex.hpp
// ~~~~~~~~~~~~~ // ~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// win_signal_blocker.hpp // win_signal_blocker.hpp
// ~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// win_thread.hpp // win_thread.hpp
// ~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// win_tss_ptr.hpp // win_tss_ptr.hpp
// ~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// wince_thread.hpp // wince_thread.hpp
// ~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// winsock_init.hpp // winsock_init.hpp
// ~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// wrapped_handler.hpp // wrapped_handler.hpp
// ~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// error.hpp // error.hpp
// ~~~~~~~~~ // ~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// error_code.hpp // error_code.hpp
// ~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// handler_alloc_hook.hpp // handler_alloc_hook.hpp
// ~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View file

@ -2,7 +2,7 @@
// handler_invoke_hook.hpp // handler_invoke_hook.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~
// //
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)
// //
// Distributed under the Boost Software License, Version 1.0. (See accompanying // 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) // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Some files were not shown because too many files have changed in this diff Show more