aboutsummaryrefslogtreecommitdiff
path: root/ttwhy/routers/concepts.cppm
blob: cfbcb5ac231e6a6439898da0b5cb20c2279ffd84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
module;

#include <asio.hpp>

#include <concepts>

export module ttwhy.routers:concepts;

namespace ttwhy
{

  export template<typename Candidate, typename Event>
  concept router = requires(Candidate candidate, Event event) {
    { candidate.process(event) } -> std::same_as<asio::awaitable<void>>;
  };

}  // namespace ttwhy