chain_of_responsibility_pattern
-
namespace chain_of_responsibility_pattern
Namespace for the Chain of Responsibility pattern.
-
class AbstractHandler : public chain_of_responsibility_pattern::Handler
- #include <chain_of_responsibility.hpp>
Abstract base class that implements the chaining mechanism.
Subclassed by chain_of_responsibility_pattern::ConcreteHandlerA, chain_of_responsibility_pattern::ConcreteHandlerB
Public Functions
Sets the next handler in the chain.
- Parameters:
next – The next handler.
- Returns:
A reference to the current handler for chaining.
-
inline virtual void handleRequest(const std::string &request) const override
Forwards the request to the next handler if available.
- Parameters:
request – The request to handle.
-
class ConcreteHandlerA : public chain_of_responsibility_pattern::AbstractHandler
- #include <chain_of_responsibility.hpp>
A concrete handler that processes specific requests.
Public Functions
-
inline virtual void handleRequest(const std::string &request) const override
Handles the request if applicable or forwards it to the next handler.
- Parameters:
request – The request to handle.
-
inline virtual void handleRequest(const std::string &request) const override
-
class ConcreteHandlerB : public chain_of_responsibility_pattern::AbstractHandler
- #include <chain_of_responsibility.hpp>
Another concrete handler that processes different requests.
Public Functions
-
inline virtual void handleRequest(const std::string &request) const override
Handles the request if applicable or forwards it to the next handler.
- Parameters:
request – The request to handle.
-
inline virtual void handleRequest(const std::string &request) const override
-
class Handler
- #include <chain_of_responsibility.hpp>
The interface for handling requests in the chain.
Subclassed by chain_of_responsibility_pattern::AbstractHandler
Public Functions
-
virtual void handleRequest(const std::string &request) const = 0
Handles the request or forwards it to the next handler.
- Parameters:
request – The request to handle.
Sets the next handler in the chain.
- Parameters:
next – The next handler.
- Returns:
A reference to the current handler for chaining.
-
virtual void handleRequest(const std::string &request) const = 0
-
class AbstractHandler : public chain_of_responsibility_pattern::Handler