| /* 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); |