Imported Upstream version 1.57.0
[platform/upstream/boost.git] / libs / asio / doc / requirements / ObjectHandleService.qbk
1 [/
2  / Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3  /
4  / Distributed under the Boost Software License, Version 1.0. (See accompanying
5  / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6  /]
7
8 [section:ObjectHandleService Object handle service requirements]
9
10 An object handle service must meet the requirements for a [link
11 boost_asio.reference.HandleService handle service], as well as the additional
12 requirements listed below.
13
14 In the table below, `X` denotes an object handle service class, `a` denotes a
15 value of type `X`, `b` denotes a value of type `X::implementation_type`, `ec`
16 denotes a value of type `error_code`, and `wh` denotes a value meeting [link
17 boost_asio.reference.WaitHandler `WaitHandler`] requirements.
18
19 [table ObjectHandleService requirements
20   [[expression] [return type] [assertion/note\npre/post-condition]]
21   [
22     [`a.wait(b, ec);`]
23     [`error_code`]
24     [
25       pre: `a.is_open(b)`.\n
26       \n
27       Synchronously waits for the object represented by handle `b` to become
28       signalled.
29     ]
30   ]
31   [
32     [`a.async_wait(b, wh);`]
33     [`void`]
34     [
35       pre: `a.is_open(b)`.\n
36       \n
37       Initiates an asynchronous operation to wait for the object represented by
38       handle `b` to become signalled. The operation is performed via the
39       `io_service` object `a.get_io_service()` and behaves according to [link
40       boost_asio.reference.asynchronous_operations asynchronous operation]
41       requirements.
42     ]
43   ]
44 ]
45
46 [endsect]