StormByte C++ Library 0.0.9999
StormByte is a comprehensive, cross-platform C++ library aimed at easing system programming, configuration management, logging, and database handling tasks. This library provides a unified API that abstracts away the complexities and inconsistencies of different platforms (Windows, Linux).
Loading...
Searching...
No Matches
pipeline.hxx
1#pragma once
2
3#include <StormByte/buffer/consumer.hxx>
4#include <StormByte/buffer/producer.hxx>
5#include <StormByte/buffer/typedefs.hxx>
6
19namespace StormByte::Buffer {
54 class STORMBYTE_PUBLIC Pipeline final {
55 public:
60 Pipeline() noexcept = default;
61
67 Pipeline(const Pipeline& other) = default;
68
74 Pipeline(Pipeline&& other) noexcept = default;
75
79 ~Pipeline() noexcept = default;
80
86 Pipeline& operator=(const Pipeline& other) = default;
87
93 Pipeline& operator=(Pipeline&& other) noexcept = default;
94
99 void AddPipe(const PipeFunction& pipe);
100
105 void AddPipe(PipeFunction&& pipe);
106
127 Consumer Process(Consumer buffer) const noexcept;
128
129 private:
130 std::vector<PipeFunction> m_pipes;
131 };
132}
A read-only interface for accessing a shared buffer.
Definition consumer.hxx:34
A class designed to execute a sequence of functions asynchronously in a pipeline.
Definition pipeline.hxx:54
Pipeline() noexcept=default
Default constructor Initializes an empty pipeline buffer.