1 #ifndef FWCore_Concurrency_ThreadSafeAddOnlyContainer_h 2 #define FWCore_Concurrency_ThreadSafeAddOnlyContainer_h 37 template <
typename... Args>
43 template <
typename... Args>
71 template <
typename... Args>
74 Node* newNode =
new Node(expected, std::forward<Args>(
args)...);
75 while (!
front_.compare_exchange_strong(expected, newNode)) {
83 template <
typename... Args>
85 : next_(iNext), data_(
std::forward<Args>(
args)...) {}
T * makeAndHold(Args &&...args)
ThreadSafeAddOnlyContainer()
Node const * next() const
std::atomic< Node * > front_
Node(Node *iNext, Args &&...args)
~ThreadSafeAddOnlyContainer()