summaryrefslogtreecommitdiff
path: root/graphs/cpp/chain_of_responsibility/handler.cc
blob: 256933b953777435843d23753ad4f4481e499e2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "handler.hh"

#include <iostream>
Handler::Handler(Handler* next)
    : next_{ next }
{}
void Handler::set_successor(Handler* h)
{
    next_ = h;
}
void Handler::forward_request(int level)
{
    if (next_ == nullptr)
    {
        std::cout << "Nobody can handle this request\n";
    }
    else
        next_->handle_request(level);
}