46#ifndef _DWMASIOCAPABLE_HH_
47#define _DWMASIOCAPABLE_HH_
49#include <boost/asio.hpp>
60 boost::system::error_code & ec) {
61 { t.Read(s, ec) } -> std::same_as<bool>;
71 boost::asio::ip::tcp::socket & s,
72 boost::system::error_code & ec) {
73 { t.Write(s, ec) } -> std::same_as<bool>;
83 requires(T & t, boost::asio::local::stream_protocol::socket & s,
84 boost::system::error_code & ec) {
85 { t.Read(s, ec) } -> std::same_as<bool>;
95 requires(
const T & t, boost::asio::local::stream_protocol::socket & s,
96 boost::system::error_code & ec) {
97 { t.Write(s, ec) } -> std::same_as<bool>;
105 template <
typename T>
107 requires(T & t, boost::asio::generic::stream_protocol::socket & s,
108 boost::system::error_code & ec) {
109 { t.Read(s, ec) } -> std::same_as<bool>;
117 template <
typename T>
119 requires(
const T & t, boost::asio::generic::stream_protocol::socket & s,
120 boost::system::error_code & ec) {
121 { t.Write(s, ec) } -> std::same_as<bool>;
127 template <
typename T>
135 template <
typename T>
152 virtual bool Read(boost::asio::ip::tcp::socket & s,
153 boost::system::error_code & ec) = 0;
160 virtual bool Read(boost::asio::local::stream_protocol::socket & s,
161 boost::system::error_code & ec) = 0;
166 virtual bool Read(boost::asio::generic::stream_protocol::socket & s,
167 boost::system::error_code & ec) = 0;
181 virtual bool Write(boost::asio::ip::tcp::socket & s,
182 boost::system::error_code & ec)
const = 0;
189 virtual bool Write(boost::asio::local::stream_protocol::socket & s,
190 boost::system::error_code & ec)
const = 0;
195 virtual bool Write(boost::asio::generic::stream_protocol::socket & s,
196 boost::system::error_code & ec)
const = 0;
Interface for classes that can read/write their contents from/to a boost::asio::ip::tcp::socket.
Definition DwmASIOCapable.hh:206
Interface for classes that wish to be readable via Dwm::ASIO.
Definition DwmASIOCapable.hh:145
virtual bool Read(boost::asio::ip::tcp::socket &s, boost::system::error_code &ec)=0
Should read the class from the given socket s and return true on success, false on failure.
virtual bool Read(boost::asio::local::stream_protocol::socket &s, boost::system::error_code &ec)=0
Should read the class from the given socket s and return true on success, false on failure.
Interface for classes that wish to be writable via Dwm::ASIO.
Definition DwmASIOCapable.hh:174
virtual bool Write(boost::asio::local::stream_protocol::socket &s, boost::system::error_code &ec) const =0
Should write the class to the given socket s and return true on success, false on failure.
virtual bool Write(boost::asio::ip::tcp::socket &s, boost::system::error_code &ec) const =0
Should write the class to the given socket s and return true on success, false on failure.
T has a Read(boost::asio::generic::stream_protocol::socket &, boost::system::error_code &) method...
Definition DwmASIOCapable.hh:106
T has a Write(boost::asio::generic::stream_protocol::socket &, boost::system::error_code &) cons...
Definition DwmASIOCapable.hh:118
T has a Read(boost::asio::local::stream_protocol::socket &, boost::system::error_code &) method t...
Definition DwmASIOCapable.hh:82
T has a Write(boost::asio::local::stream_protocol::socket &, boost::system::error_code &) const ...
Definition DwmASIOCapable.hh:94
T has asio read members.
Definition DwmASIOCapable.hh:128
T has a Read(boost::asio::ip::tcp::socket &, boost::system::error_code &) method that returns bool.
Definition DwmASIOCapable.hh:59
T has a Write(boost::asio::ip::tcp::socket &, boost::system::error_code &) method that returns bool.
Definition DwmASIOCapable.hh:70
T has asio write members.
Definition DwmASIOCapable.hh:136