blob: 6390a1c4d09c840a58fc03f4c2fef736364c0076 [file] [log] [blame] [edit]
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file LICENSE.rst 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==(cmCTestBinPackerAllocation const& other) const;
bool operator!=(cmCTestBinPackerAllocation const& other) const;
};
bool cmAllocateCTestResourcesRoundRobin(
std::map<std::string, cmCTestResourceAllocator::Resource> const& resources,
std::vector<cmCTestBinPackerAllocation>& allocations);
bool cmAllocateCTestResourcesBlock(
std::map<std::string, cmCTestResourceAllocator::Resource> const& resources,
std::vector<cmCTestBinPackerAllocation>& allocations);