Back to C++20 standard!
Logging is worked (AdcOstreamLogger and AdcSPDLOGLogger classes)
This commit is contained in:
@@ -118,12 +118,14 @@ concept adc_netservice_c = requires(SRVT srv, const SRVT srv_const) {
|
||||
// acceptor type
|
||||
requires std::is_class_v<typename SRVT::acceptor_t>;
|
||||
requires adc_async_callback_t<typename SRVT::acceptor_t::async_accept_callback_t>;
|
||||
requires requires(typename SRVT::acceptor_t acc) {
|
||||
requires requires(typename SRVT::acceptor_t acc, const typename SRVT::acceptor_t acc_const) {
|
||||
acc.asyncAccept(std::declval<typename SRVT::acceptor_t::async_accept_callback_t>(),
|
||||
std::declval<const typename SRVT::timeout_t&>());
|
||||
|
||||
// { acc.accept(std::declval<const typename SRVT::timeout_t&>()) } -> std::same_as<SRVT>;
|
||||
acc.accept(std::declval<const typename SRVT::timeout_t&>());
|
||||
|
||||
{ acc_const.localEndpoint() } -> traits::formattable;
|
||||
};
|
||||
|
||||
|
||||
@@ -160,6 +162,8 @@ concept adc_netservice_c = requires(SRVT srv, const SRVT srv_const) {
|
||||
|
||||
srv.close();
|
||||
|
||||
{ srv_const.remoteEndpoint() } -> traits::formattable;
|
||||
|
||||
// // static method
|
||||
// SRVT::formatError(std::declval<typename SRVT::async_callback_err_t>(), std::declval<std::string&>());
|
||||
|
||||
@@ -224,7 +228,10 @@ concept adc_netsession_proto_c =
|
||||
|
||||
|
||||
|
||||
/* LOGGER */
|
||||
/* LOGGER:
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
template <typename LOGGERT>
|
||||
concept adc_logger_c = requires(LOGGERT log, const LOGGERT log_const) {
|
||||
@@ -234,22 +241,15 @@ concept adc_logger_c = requires(LOGGERT log, const LOGGERT log_const) {
|
||||
{ log_const.getLogLevel() } -> std::same_as<typename LOGGERT::loglevel_t>;
|
||||
|
||||
// logging method signature:
|
||||
// void method(std::string_view fmt, traits::formattable auto&& args...)
|
||||
// void method(loglevel_t level, traits::formattable auto&& args...)
|
||||
|
||||
log.logMessage(std::declval<typename LOGGERT::loglevel_t>(), std::declval<std::string_view>());
|
||||
log.logMessage(std::declval<typename LOGGERT::loglevel_t>(), std::declval<std::string_view>(),
|
||||
std::declval<std::string>());
|
||||
log.logMessage(std::declval<typename LOGGERT::loglevel_t>(), std::declval<std::string>());
|
||||
|
||||
// logging method must accept at least the single argument - formatting string
|
||||
log.logInfo(std::declval<std::string_view>());
|
||||
// method must be defined at least for std::string as its argument
|
||||
log.logInfo(std::declval<std::string_view>(), std::declval<std::string>());
|
||||
// specialized logging methods signature:
|
||||
|
||||
log.logWarn(std::declval<std::string_view>());
|
||||
log.logWarn(std::declval<std::string_view>(), std::declval<std::string>());
|
||||
|
||||
log.logError(std::declval<std::string_view>());
|
||||
log.logError(std::declval<std::string_view>(), std::declval<std::string>());
|
||||
log.logInfo(std::declval<std::string>());
|
||||
log.logDebug(std::declval<std::string>());
|
||||
log.logError(std::declval<std::string>());
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user