logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

__gnu_parallel::_RestrictedBoundedConcurrentQueue.3cxx

Author

       Generated automatically by Doxygen for libstdc++ from the source code.

                                                    libst__gnu_parallel::_Restri...dConcurrentQueue<_Tp>(3cxx)

Constructor & Destructor Documentation

template<typename_Tp>__gnu_parallel::_RestrictedBoundedConcurrentQueue<_Tp>::_RestrictedBoundedConcurrentQueue(_SequenceIndex__max_size)[inline]
       Constructor. Not to be called concurrent, of course.

       Parameters__max_size Maximal number of elements to be contained.

       References __gnu_parallel::__encode2().

   template<typename_Tp>__gnu_parallel::_RestrictedBoundedConcurrentQueue<_Tp>::~_RestrictedBoundedConcurrentQueue()[inline]
       Destructor. Not to be called concurrent, of course.

Detailed Description

template<typename_Tp>
       class __gnu_parallel::_RestrictedBoundedConcurrentQueue< _Tp >"Double-ended queue of bounded size,
       allowing lock-free atomic access. push_front() and pop_front() must not be called concurrently to each
       other, while pop_back() can be called concurrently at all times. empty(), size(), and top() are
       intentionally not provided. Calling them would not make sense in a concurrent setting.

       Parameters_Tp Contained element type.

Member Function Documentation

template<typename_Tp>bool__gnu_parallel::_RestrictedBoundedConcurrentQueue<_Tp>::pop_back(_Tp&__t)[inline]
       Pops one element from the queue at the front end. Must not be called concurrently with pop_front().

       References __gnu_parallel::__compare_and_swap(), __gnu_parallel::__decode2(), and
       __gnu_parallel::__encode2().

   template<typename_Tp>bool__gnu_parallel::_RestrictedBoundedConcurrentQueue<_Tp>::pop_front(_Tp&__t)[inline]
       Pops one element from the queue at the front end. Must not be called concurrently with pop_front().

       References __gnu_parallel::__compare_and_swap(), __gnu_parallel::__decode2(), and
       __gnu_parallel::__encode2().

   template<typename_Tp>void__gnu_parallel::_RestrictedBoundedConcurrentQueue<_Tp>::push_front(const_Tp&__t)[inline]
       Pushes one element into the queue at the front end. Must not be called concurrently with pop_front().

       References __gnu_parallel::__decode2(), __gnu_parallel::__encode2(), and
       __gnu_parallel::__fetch_and_add().

Name

       __gnu_parallel::_RestrictedBoundedConcurrentQueue< _Tp > - Double-ended queue of bounded size, allowing
       lock-free atomic access. push_front() and pop_front() must not be called concurrently to each other,
       while pop_back() can be called concurrently at all times. empty(), size(), and top() are intentionally
       not provided. Calling them would not make sense in a concurrent setting.

Synopsis

       #include <queue.h>

   PublicMemberFunctions_RestrictedBoundedConcurrentQueue (_SequenceIndex __max_size)
           Constructor. Not to be called concurrent, of course.
       ~_RestrictedBoundedConcurrentQueue ()
           Destructor. Not to be called concurrent, of course.
       bool pop_back (_Tp &__t)
           Pops one element from the queue at the front end. Must not be called concurrently with pop_front().
       bool pop_front (_Tp &__t)
           Pops one element from the queue at the front end. Must not be called concurrently with pop_front().
       void push_front (const _Tp &__t)
           Pushes one element into the queue at the front end. Must not be called concurrently with pop_front().

See Also