libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
atomic_counter.hpp File Reference
#include "deleter.hpp"
#include "thread_params_traits.hpp"
#include <atomic>
#include "atomic_counter_impl.hpp"
Include dependency graph for atomic_counter.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  jmmcg::LIBJMMCG_VER_NAMESPACE::sp_counter_itf_type< V >
 An optional interface for the intrusive sp_counter_type. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::atomic_ctr_gen< V, LkT >
 A general-purpose, atomic counter class, similar to the atomic integer types in C++11 ch 29. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::atomic_ctr_gen< V, api_lock_traits< API, sequential_mode > >
 A specialisation for sequential operation to optimise performance. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::atomic_ctr_opt< V, LkT >
 An atomic counter class for integer types, similar to the atomic integer types in C++11 ch 29. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::noop_atomic_ctr_base< V, LkT >
 An atomic counter class that actually does nothing, doesn't count at all. More...
 

Namespaces

namespace  jmmcg
 Link with -lrt to include these functions.
 
namespace  jmmcg::LIBJMMCG_VER_NAMESPACE
 
namespace  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd
 Parallel Pixie Dust or PPD is the name of the thread library within libjmmcg.
 

Typedefs

template<class V , class LkT >
using jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::atomic_ctr = typename std::conditional< std::is_integral< V >::value, atomic_ctr_opt< V, LkT >, typename std::conditional< std::is_pointer< V >::value, atomic_ctr_opt< V, LkT >, atomic_ctr_gen< V, LkT > >::type >::type
 A general-purpose, atomic-wrapper class, similar to the atomic types in C++11 ch 29, with some important differences. More...
 

Functions

template<class V , class LkT >
tostream &FORCE_INLINE jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::operator<< (tostream &os, atomic_ctr< V, LkT > const &a)