12 #ifndef ASIO_DETAIL_REACTIVE_SERIAL_PORT_SERVICE_HPP    13 #define ASIO_DETAIL_REACTIVE_SERIAL_PORT_SERVICE_HPP    15 #if defined(_MSC_VER) && (_MSC_VER >= 1200)    17 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)    21 #if defined(ASIO_HAS_SERIAL_PORT)    22 #if !defined(ASIO_WINDOWS) && !defined(__CYGWIN__)    37 class reactive_serial_port_service
    44   typedef reactive_descriptor_service::implementation_type implementation_type;
    53   void construct(implementation_type& impl)
    55     descriptor_service_.construct(impl);
    59   void move_construct(implementation_type& impl,
    60       implementation_type& other_impl)
    62     descriptor_service_.move_construct(impl, other_impl);
    66   void move_assign(implementation_type& impl,
    67       reactive_serial_port_service& other_service,
    68       implementation_type& other_impl)
    70     descriptor_service_.move_assign(impl,
    71         other_service.descriptor_service_, other_impl);
    75   void destroy(implementation_type& impl)
    77     descriptor_service_.destroy(impl);
    86       const native_handle_type& native_descriptor,
    89     return descriptor_service_.assign(impl, native_descriptor, ec);
    93   bool is_open(
const implementation_type& impl)
 const    95     return descriptor_service_.is_open(impl);
   102     return descriptor_service_.close(impl, ec);
   106   native_handle_type native_handle(implementation_type& impl)
   108     return descriptor_service_.native_handle(impl);
   115     return descriptor_service_.cancel(impl, ec);
   119   template <
typename SettableSerialPortOption>
   123     return do_set_option(impl,
   124         &reactive_serial_port_service::store_option<SettableSerialPortOption>,
   129   template <
typename GettableSerialPortOption>
   133     return do_get_option(impl,
   134         &reactive_serial_port_service::load_option<GettableSerialPortOption>,
   144           descriptor_service_.native_handle(impl), 0), ec);
   149   template <
typename ConstBufferSequence>
   150   size_t write_some(implementation_type& impl,
   153     return descriptor_service_.write_some(impl, buffers, ec);
   158   template <
typename ConstBufferSequence, 
typename Handler>
   159   void async_write_some(implementation_type& impl,
   160       const ConstBufferSequence& buffers, Handler& handler)
   162     descriptor_service_.async_write_some(impl, buffers, handler);
   166   template <
typename MutableBufferSequence>
   167   size_t read_some(implementation_type& impl,
   170     return descriptor_service_.read_some(impl, buffers, ec);
   175   template <
typename MutableBufferSequence, 
typename Handler>
   176   void async_read_some(implementation_type& impl,
   177       const MutableBufferSequence& buffers, Handler& handler)
   179     descriptor_service_.async_read_some(impl, buffers, handler);
   188   template <
typename SettableSerialPortOption>
   192     return static_cast<const SettableSerialPortOption*
>(option)->store(
   198       implementation_type& impl, store_function_type store,
   206   template <
typename GettableSerialPortOption>
   210     return static_cast<GettableSerialPortOption*
>(option)->load(storage, ec);
   215       const implementation_type& impl, load_function_type load,
   219   reactive_descriptor_service descriptor_service_;
   227 #if defined(ASIO_HEADER_ONLY)   229 #endif // defined(ASIO_HEADER_ONLY)   231 #endif // !defined(ASIO_WINDOWS) && !defined(__CYGWIN__)   232 #endif // defined(ASIO_HAS_SERIAL_PORT)   234 #endif // ASIO_DETAIL_REACTIVE_SERIAL_PORT_SERVICE_HPP ReturnType error_wrapper(ReturnType return_value, asio::error_code &ec)
 
Provides core I/O functionality. 
 
const MutableBufferSequence & buffers
 
Class to represent an error code value. 
 
ASIO_DECL int close(int d, state_type &state, asio::error_code &ec)
 
ASIO_DECL int open(const char *path, int flags, asio::error_code &ec)