Direct-BT  2.3.1
Direct-BT - Direct Bluetooth Programming.
Classes | Namespaces | Functions
cow_darray.hpp File Reference
#include <cstring>
#include <string>
#include <cstdint>
#include <limits>
#include <atomic>
#include <memory>
#include <mutex>
#include <condition_variable>
#include <algorithm>
#include <jau/cpp_lang_util.hpp>
#include <jau/debug.hpp>
#include <jau/darray.hpp>
#include <jau/basic_types.hpp>
#include <jau/ordered_atomic.hpp>
#include <jau/cow_iterator.hpp>
#include <jau/callocator.hpp>
Include dependency graph for cow_darray.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  jau::cow_darray< Value_type, Alloc_type, Size_type, use_memmove, use_realloc, sec_mem >
 Implementation of a Copy-On-Write (CoW) using jau::darray as the underlying storage, exposing lock-free read operations using SC-DRF atomic synchronization. More...
 

Namespaces

 jau
 

Functions

template<typename Value_type , typename Alloc_type >
std::ostream & jau::operator<< (std::ostream &out, const cow_darray< Value_type, Alloc_type > &c)
 
template<typename Value_type , typename Alloc_type >
bool jau::operator== (const cow_darray< Value_type, Alloc_type > &rhs, const cow_darray< Value_type, Alloc_type > &lhs)
 
template<typename Value_type , typename Alloc_type >
bool jau::operator!= (const cow_darray< Value_type, Alloc_type > &rhs, const cow_darray< Value_type, Alloc_type > &lhs)
 
template<typename Value_type , typename Alloc_type >
bool jau::operator< (const cow_darray< Value_type, Alloc_type > &rhs, const cow_darray< Value_type, Alloc_type > &lhs)
 
template<typename Value_type , typename Alloc_type >
bool jau::operator> (const cow_darray< Value_type, Alloc_type > &rhs, const cow_darray< Value_type, Alloc_type > &lhs)
 
template<typename Value_type , typename Alloc_type >
bool jau::operator<= (const cow_darray< Value_type, Alloc_type > &rhs, const cow_darray< Value_type, Alloc_type > &lhs)
 
template<typename Value_type , typename Alloc_type >
bool jau::operator>= (const cow_darray< Value_type, Alloc_type > &rhs, const cow_darray< Value_type, Alloc_type > &lhs)
 
template<typename Value_type , typename Alloc_type >
void jau::swap (cow_darray< Value_type, Alloc_type > &rhs, cow_darray< Value_type, Alloc_type > &lhs) noexcept