cmake/Source/CTest/cmCTestResourceGroupsLexerHelper.h

42 lines
1.0 KiB
C
Raw Normal View History

2020-02-01 23:06:01 +01:00
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
2021-09-14 00:13:48 +02:00
#pragma once
2020-02-01 23:06:01 +01:00
#include <string>
#include <vector>
#include "cmCTestTestHandler.h"
class cmCTestResourceGroupsLexerHelper
{
public:
struct ParserType
{
};
cmCTestResourceGroupsLexerHelper(
std::vector<
std::vector<cmCTestTestHandler::cmCTestTestResourceRequirement>>&
output);
~cmCTestResourceGroupsLexerHelper() = default;
bool ParseString(const std::string& value);
void SetProcessCount(unsigned int count);
void SetResourceType(const std::string& type);
void SetNeededSlots(int count);
void WriteRequirement();
void WriteProcess();
private:
std::vector<std::vector<cmCTestTestHandler::cmCTestTestResourceRequirement>>&
Output;
unsigned int ProcessCount = 1;
std::string ResourceType;
int NeededSlots;
std::vector<cmCTestTestHandler::cmCTestTestResourceRequirement> Process;
};
#define YY_EXTRA_TYPE cmCTestResourceGroupsLexerHelper*