Loading [MathJax]/jax/output/SVG/config.js
ATLAS Offline Software
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
w
x
z
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
GitLab
LXR
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Control
CxxUtils
CxxUtils
ranges.h
Go to the documentation of this file.
1
// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
/*
3
* Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
4
*/
15
#ifndef CXXUTILS_RANGES_H
16
#define CXXUTILS_RANGES_H
17
18
19
#include <ranges>
20
21
22
namespace
CxxUtils
{
23
24
26
template
<
class
RANGE,
class
T>
27
concept
InputRangeOverT
=
28
std::ranges::input_range<RANGE> &&
29
std::convertible_to<std::ranges::range_value_t<RANGE>, T>;
30
31
32
#if __cpp_lib_ranges_to_container
33
// If we're using C++23, just take the library version.
34
using
std::ranges::to
;
35
#else
36
37
// Simplified version of C++23 to().
38
template
<
class
CONT,
class
RANGE>
39
CONT
to
(RANGE&&
r
)
40
{
41
return
CONT (
std::ranges::begin
(
r
),
std::ranges::end
(
r
));
42
}
43
44
#endif
45
46
}
// namespace CxxUtils
47
48
49
#endif // not CXXUTILS_RANGES_H
beamspotman.r
def r
Definition:
beamspotman.py:676
PlotCalibFromCool.begin
begin
Definition:
PlotCalibFromCool.py:94
mergePhysValFiles.end
end
Definition:
DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
CxxUtils::InputRangeOverT
concept InputRangeOverT
Concept for an input range over a given type.
Definition:
ranges.h:27
CxxUtils
Definition:
aligned_vector.h:29
CxxUtils::to
CONT to(RANGE &&r)
Definition:
ranges.h:39
Generated on Thu Apr 17 2025 21:17:14 for ATLAS Offline Software by
1.8.18