/* * Copyright (c) 2025 Fraunhofer IESE. All rights reserved. * * Authors: * Iron Prando da Silva */ #pragma once #include "businessObjects/dramTimeDependencies/common/common.h" typedef std::pair PoolEntry; class PoolController { public: PoolController(const uint poolSize, const std::vector& dependencies); ~PoolController() = default; void clear(); void push(DBDependencyEntry); void increment(); void merge(std::vector& depEntries); size_t count() { return mCount; } uint getBusyTime(const StringMapper& phaseName); protected: const std::vector mDependencies; std::vector mPool; uint mCount = 0; uint mPoolSize = 0; protected: static std::vector mAuxSortInput(std::vector vec); };