#ifndef FRAMEWORK_CONTAINER_STATICFIFO_H_ #define FRAMEWORK_CONTAINER_STATICFIFO_H_ #include #include #include namespace fsfw { /** * @brief Simple First-In-First-Out data structure with size fixed at * compile time * @details * Performs no dynamic memory allocation. * The public interface of FIFOBase exposes the user interface for the FIFO. * @tparam T Entry Type * @tparam capacity Maximum capacity */ template class StaticFIFO: public FIFOBase { public: StaticFIFO(): FIFOBase(values.data(), capacity) {}; private: std::array values; }; } #endif /* FRAMEWORK_CONTAINERS_STATICFIFO_H_ */