Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.44 KB | None | 0 0
  1. // generic reusable component
  2. template <HandleMsg>
  3. struct parser
  4. {
  5.     parser(HandleMsg handler);
  6.  
  7.     void parse(std::byte)
  8.     {
  9.         ....
  10.         handler_(msg)
  11.     }
  12.  
  13.     HandleMsg handler_;
  14. };
  15.  
  16. struct server
  17. {
  18.     server(InStream& in)
  19.         : parser_([this](auto msg){handle(msg);})
  20.     {
  21.         in.attach([this](std::byte b){parser_(b);});
  22.     }
  23.    
  24.     void handle(message_type msg);
  25.  
  26.     parser<???> parser_;
  27. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement