qb  2.0.0.0
C++17 Actor Framework
qb Issue Watch Star Fork Follow @isndev
Loading...
Searching...
No Matches

Single-Producer Single-Consumer lockfree data structures. More...

#include <algorithm>
#include <array>
#include <atomic>
#include <cstdint>
#include <cstring>
#include <memory>
#include <qb/utility/branch_hints.h>
#include <qb/utility/nocopy.h>
#include <qb/utility/prefix.h>
#include <thread>
Include dependency graph for spsc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  qb::lockfree::spsc::internal::ringbuffer< T >
 Base implementation of the Single-Producer Single-Consumer ringbuffer. More...
class  qb::lockfree::spsc::ringbuffer< T, _MaxSize >
 Fixed-size implementation of the SPSC ringbuffer. More...
class  qb::lockfree::spsc::ringbuffer< T, 0 >
 Dynamic-size implementation of the SPSC ringbuffer. More...

Detailed Description

Single-Producer Single-Consumer lockfree data structures.

This file provides lockfree data structures optimized for scenarios where exactly one thread produces data and exactly one thread consumes it. The implementation focuses on performance through cache-friendly design and minimal synchronization overhead.

Author
qb - C++ Actor Framework

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.