libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
locking.hpp File Reference
#include "thread_params_traits.hpp"
#include "trace.hpp"
#include <boost/mpl/assert.hpp>
#include <boost/static_assert.hpp>
#include <boost/thread/locks.hpp>
#include "anon_spin_event.hpp"
#include "locking_impl.hpp"
Include dependency graph for locking.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable< LkT >
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::settable< LkT >
 
struct  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::lockable_settable< LkT >
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::boost_lk_compat< Lk >
 An adaptor to turn ppd::lockable in boost::lockable objects. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::scope_lock< LockObject >
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::in_process< LockObject >
 A class to control access to resource, possibly using the stack, using the RAII idiom. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::in_process_unlockable< LockObject >
 A class to control access to resource, possibly using the stack, using the RAII idiom. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::new_event_signal< St, UnSig, Pri, M, WL, Mtx >
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::any_order::all< API_, Mdl_, Lk1, Lk2 >
 Lock all of the lockable objects, and wait until they are both locked. More...
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::any_order::all< API_, sequential_mode, Lk1, Lk2 >
 
class  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::any_order::try_one< API_, Mdl_, Lk1, Lk2 >
 Try to lock at least one of the lockable objects. 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.
 
namespace  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock
 
namespace  jmmcg::LIBJMMCG_VER_NAMESPACE::ppd::lock::any_order
 This namespace is for containing lock types that lock two lockable objects jointly, atomically.