[/
 / Copyright (c) 2003-2010 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:GettableSerialPortOption Gettable serial port option requirements]

In the table below, `X` denotes a serial port option class, `a` denotes a value
of `X`, `ec` denotes a value of type `error_code`, and `s` denotes a value of
implementation-defined type ['[^storage]] (where ['[^storage]] is the type
`DCB` on Windows and `termios` on __POSIX__ platforms), and `u` denotes an
identifier.

[table GettableSerialPortOption requirements
  [[expression] [type] [assertion/note\npre/post-conditions]]
  [
    [
      `const `['[^storage]]`& u = s;`\n
      `a.load(u, ec);`
    ]
    [`error_code`]
    [
      Retrieves the value of the serial port option from the storage.\n
      \n
      If successful, sets `ec` such that `!ec` is true. If an error occurred,
      sets `ec` such that `!!ec` is true. Returns `ec`.
    ]
  ]
]

[endsect]
