8 #include "KVNumberList.h"
33 class run_index_t :
public std::pair<int, std::optional<int>> {
36 : std::pair<int, std::optional<int>>(
run,
index)
39 second = std::nullopt;
57 int index(
int no_index = -1)
const
59 return second.value_or(no_index);
63 return second.has_value();
78 second = std::nullopt;
120 if (A.
run() < B.
run())
return true;
121 if (A.
run() > B.
run())
return false;
158 class run_index_list {
159 std::set<run_index_t> fRunList;
161 run_index_list(
const TString& l)
165 run_index_list() =
default;
166 run_index_list(
const run_index_list&) =
default;
167 run_index_list(run_index_list&&) =
default;
168 run_index_list&
operator=(
const run_index_list&) =
default;
169 run_index_list&
operator=(run_index_list&&) =
default;
173 return std::begin(fRunList);
177 return std::end(fRunList);
184 void Add(
const run_index_list&);
189 void Remove(
const run_index_list&);
193 return fRunList.count(r) > 0;
197 return fRunList.empty();
199 TString GetList(
bool no_commas=
true)
const;
200 void SetList(
const TString& slist);
202 Int_t GetNValues()
const
204 return fRunList.size();
206 Int_t GetEntries()
const
216 std::cout << AsString() << std::endl;
218 void Inter(
const run_index_list&);
221 friend run_index_list
operator-(
const run_index_list& A,
const run_index_list& B)
228 friend run_index_list
operator+(
const run_index_list& A,
const run_index_list& B)
238 auto it = fRunList.cbegin();
244 auto it = fRunList.crbegin();
#define ClassDef(name, id)
Binding & operator=(OUT(*fun)(U0 u0))
char * Form(const char *fmt,...)
Strings used to represent a set of ranges of values.
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Specifies a runfile according to run number and file index ,.
friend bool operator==(const run_index_t &A, const run_index_t &B)
run_index_t & operator=(run_index_t &&)=default
TString as_string() const
int index(int no_index=-1) const
friend std::ostream & operator<<(std::ostream &out, const run_index_t &rndx)
run_index_t(int run, std::optional< int > index)
run_index_t(const TString &rs)
void set(const TString &rs)
run_index_t(const run_index_t &)=default
run_index_t(run_index_t &&)=default
run_index_t & operator=(const run_index_t &)=default
TString index_string() const
friend bool operator<(const run_index_t &A, const run_index_t &B)
Expr< BinaryOpCopyL< MinOp< T >, Constant< A >, SMatrix< T, D, D2, R >, T >, T, D, D2, R > operator-(const A &lhs, const SMatrix< T, D, D2, R > &rhs)
Expr< BinaryOpCopyL< AddOp< T >, Constant< A >, SMatrix< T, D, D2, R >, T >, T, D, D2, R > operator+(const A &lhs, const SMatrix< T, D, D2, R > &rhs)