1 #ifndef FWCore_Concurrency_ThreadSafeAddOnlyContainer_h 2 #define FWCore_Concurrency_ThreadSafeAddOnlyContainer_h 38 template <
typename... Args>
46 template <
typename... Args>
77 template <
typename... Args>
80 Node* newNode =
new Node(expected, std::forward<Args>(
args)...);
81 while (!
front_.compare_exchange_strong(expected, newNode)) {
89 template <
typename... Args>
92 data_(
std::forward<Args>(
args)...) {
T * makeAndHold(Args &&...args)
ThreadSafeAddOnlyContainer()
Node const * next() const
std::atomic< Node * > front_
Node(Node *iNext, Args &&...args)
~ThreadSafeAddOnlyContainer()