ATLAS Offline Software
Loading...
Searching...
No Matches
concurrent_vector.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 */
17
18
19#ifndef ATHCONTAINERS_CONCURRENT_VECTOR_H
20#define ATHCONTAINERS_CONCURRENT_VECTOR_H
21
22
23#ifdef ATHCONTAINERS_NO_THREADS
24
25
26#include <vector>
27
28
29namespace AthContainers_detail {
30
31
32template <class T>
33using concurrent_vector = std::vector<T>;
34
35
36} // namespace AthContainers_detail
37
38
39#else // not ATHCONTAINERS_NO_THREADS
40
41
42// See ATLINFR-4996 for an explanation of this clunky
43// warning suppression.
44#if (__cplusplus > 201703L) && defined(__ROOTCLING__)
45#pragma clang diagnostic push
46#pragma clang diagnostic ignored "-Wdeprecated-volatile"
47#endif // >C++17 with ROOT
48#include "tbb/concurrent_vector.h"
49#if (__cplusplus > 201703L) && defined(__ROOTCLING__)
50#pragma clang diagnostic pop
51#endif // >C++17 with ROOT
52
53
55
56
57using tbb::concurrent_vector;
58
59
60} // namespace AthContainers_detail
61
62
63
64#endif
65
66
67#endif // not ATHCONTAINERS_CONCURRENT_VECTOR_H