/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #pragma once #include <cstddef> #include <map> #include <string> #include <vector> #include "cmCTestResourceAllocator.h" struct cmCTestBinPackerAllocation { std::size_t ProcessIndex; int SlotsNeeded; std::string Id; bool operator==(const cmCTestBinPackerAllocation& other) const; bool operator!=(const cmCTestBinPackerAllocation& other) const; }; bool cmAllocateCTestResourcesRoundRobin( const std::map<std::string, cmCTestResourceAllocator::Resource>& resources, std::vector<cmCTestBinPackerAllocation>& allocations); bool cmAllocateCTestResourcesBlock( const std::map<std::string, cmCTestResourceAllocator::Resource>& resources, std::vector<cmCTestBinPackerAllocation>& allocations);