diff options
Diffstat (limited to '3rdparty/asio/src/doc/requirements/WaitTraits.qbk')
-rw-r--r-- | 3rdparty/asio/src/doc/requirements/WaitTraits.qbk | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/3rdparty/asio/src/doc/requirements/WaitTraits.qbk b/3rdparty/asio/src/doc/requirements/WaitTraits.qbk new file mode 100644 index 00000000000..13eb7482879 --- /dev/null +++ b/3rdparty/asio/src/doc/requirements/WaitTraits.qbk @@ -0,0 +1,52 @@ +[/ + / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) + / + / Distributed under the Boost Software License, Version 1.0. (See accompanying + / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + /] + +[section:WaitTraits Wait traits requirements] + +The `basic_waitable_timer` template uses wait traits to allow programs to +customize `wait` and `async_wait` behavior. +[inline_note Possible uses of wait traits include:\n +[mdash] To enable timers based on non-realtime clocks.\n +[mdash] Determining how quickly wallclock-based timers respond to system time +changes.\n +[mdash] Correcting for errors or rounding timeouts to boundaries.\n +[mdash] Preventing duration overflow. That is, a program may set a timer's +expiry `e` to be `Clock::max()` (meaning never reached) or `Clock::min()` +(meaning always in the past). As a result, computing the duration until timer +expiry as `e - Clock::now()` may cause overflow.] + +For a type `Clock` meeting the `Clock` requirements (C++Std +[time.clock.req]), a type `X` meets the `WaitTraits` requirements if it +satisfies the requirements listed below. + +In the table below, `t` denotes a (possibly const) value of type +`Clock::time_point`; and `d` denotes a (possibly const) value of type +`Clock::duration`. + +[table WaitTraits requirements + [[expression] [return type] [assertion/note\npre/post-condition]] + [ + [`X::to_wait_duration(d)`] + [`Clock::duration`] + [ + Returns a `Clock::duration` value to be used in a `wait` or `async_wait` + operation. [inline_note The return value is typically representative of + the duration `d`.] + ] + ] + [ + [`X::to_wait_duration(t)`] + [`Clock::duration`] + [ + Returns a `Clock::duration` value to be used in a `wait` or `async_wait` + operation. [inline_note The return value is typically representative of + the duration from `Clock::now()` until the time point `t`.] + ] + ] +] + +[endsect] |