9#include "UniqueOptions.h"
16 void UniqueOptions::OverwriteTag(TString newStr, TString oldStr) {
17 for (
auto& i : fOpts) {
26 auto vec = Hal::Std::GetVector(list);
29 fConflicts.push_back(vec);
34 for (
auto conf : fConflicts) {
35 for (
auto potConf : conf) {
37 for (
auto potConf2 : conf) {
40 OverwriteTag(tag, potConf2);
55 for (
unsigned int i = 0; i < fOpts.size(); i++) {
56 TString opt = fOpts[i];
58 fOpts.erase(fOpts.begin() + i);
67 for (
auto i : fOpts) {
68 if (i == tag)
return kTRUE;
73 void UniqueOptions::Print(Option_t* )
const {
74 std::cout <<
"Conflicts" << std::endl;
75 for (
auto i : fConflicts) {
78 std::cout << j <<
" ";
80 std::cout << std::endl;
82 std::cout <<
"Tags" << std::endl;
83 for (
auto i : fOpts) {
84 std::cout <<
"\t" << i << std::endl;
Bool_t CheckTag(TString tag) const
Bool_t RemoveTag(TString tag)
void AddConflicts(std::initializer_list< TString > list)
Bool_t AddTag(TString tag, Bool_t overwrite=kTRUE)