Juggler
Juggling algorithms and event processing using gaudi framework
Options.hpp
Go to the documentation of this file.
1
// This file is part of the Acts project.
2
//
3
// Copyright (C) 2017 CERN for the benefit of the Acts project
4
//
5
// This Source Code Form is subject to the terms of the Mozilla Public
6
// License, v. 2.0. If a copy of the MPL was not distributed with this
7
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
9
#pragma once
10
11
#include <iosfwd>
12
#include <optional>
13
#include <string>
14
#include <utility>
15
#include <vector>
16
17
//namespace FW {
18
//namespace Options {
19
//
20
///// Half open [lower,upper) interval type for user options.
21
/////
22
///// A missing limit represents an unbounded upper or lower limit. With just
23
///// one defined limit the interval is just a lower/upper bound; with both
24
///// limits undefined, the interval is unbounded everywhere and thus contains
25
///// all possible values.
26
/////
27
///// This is intended as a utility type for the user options and not as a
28
///// variable type for the configuration structs. Simple primitive types should
29
///// be preferred there.
30
//struct Interval {
31
// std::optional<double> lower;
32
// std::optional<double> upper;
33
//};
34
//
35
///// Extract an interval from an input of the form 'lower:upper'.
36
/////
37
///// An input of the form `lower:` or `:upper` sets just one of the limits. Any
38
///// other input leads to an unbounded interval. If the input is `:SECOND` the
39
/////
40
///// @note The more common range notation uses `lower-upper` but the `-`
41
///// separator complicates the parsing of negative values.
42
//std::istream& operator>>(std::istream& is, Interval& interval);
43
//
44
///// Print an interval as `lower:upper`.
45
//std::ostream& operator<<(std::ostream& os, const Interval& interval);
46
//
47
///// Extract an interval from an input of the form 'lower:upper'.
48
/////
49
///// An input of the form `lower:` or `:upper` sets just one of the limits. Any
50
///// other input leads to an unbounded interval. If the input is `:SECOND` the
51
/////
52
///// @note The more common range notation uses `lower-upper` but the `-`
53
///// separator complicates the parsing of negative values.
54
//std::istream& operator>>(std::istream& is, std::vector<Interval>& intervals);
55
//
56
///// Print an interval as `lower:upper`.
57
//std::ostream& operator<<(std::ostream& os,
58
// const std::vector<Interval>& intervals);
59
//
60
//} // namespace Options
61
//} // namespace FW
62
//
63
//using read_series = std::vector<int>;
64
//using read_range = std::vector<double>;
65
//using read_strings = std::vector<std::string>;
66
//
67
//// Overloads must exist in the `std` namespace so ADL-lookup can find them.
68
//namespace std {
69
//
70
//std::ostream& operator<<(std::ostream& os, const read_series& vec);
71
//
72
//std::ostream& operator<<(std::ostream& os, const read_range& vec);
73
//
74
//std::ostream& operator<<(std::ostream& os, const read_strings& vec);
75
//
76
//} // namespace std
JugTrack
JugTrack
Utilities
Options.hpp
Generated by
1.8.18