Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for a snapshot of the master branch, built from commit fa2ecb07cd.
PrevUpHomeNext

Struct single_thread_model

boost::log::sources::single_thread_model — Single thread locking model.

Synopsis

// In header: <boost/log/sources/threading_models.hpp>


struct single_thread_model {

  // public member functions
  void lock_shared() const noexcept;
  bool try_lock_shared() const noexcept;
  template<typename TimeT> 
    bool timed_lock_shared(TimeT const &) const noexcept;
  void unlock_shared() const noexcept;
  void lock() const noexcept;
  bool try_lock() const noexcept;
  template<typename TimeT> bool timed_lock(TimeT const &) const noexcept;
  void unlock() const noexcept;
  void lock_upgrade() const noexcept;
  bool try_lock_upgrade() const noexcept;
  template<typename TimeT> 
    bool timed_lock_upgrade(TimeT const &) const noexcept;
  void unlock_upgrade() const noexcept;
  void unlock_upgrade_and_lock() const noexcept;
  void unlock_and_lock_upgrade() const noexcept;
  void unlock_and_lock_shared() const noexcept;
  void unlock_upgrade_and_lock_shared() const noexcept;
  void swap(single_thread_model &) noexcept;
};

Description

single_thread_model public member functions

  1. void lock_shared() const noexcept;
  2. bool try_lock_shared() const noexcept;
  3. template<typename TimeT> bool timed_lock_shared(TimeT const &) const noexcept;
  4. void unlock_shared() const noexcept;
  5. void lock() const noexcept;
  6. bool try_lock() const noexcept;
  7. template<typename TimeT> bool timed_lock(TimeT const &) const noexcept;
  8. void unlock() const noexcept;
  9. void lock_upgrade() const noexcept;
  10. bool try_lock_upgrade() const noexcept;
  11. template<typename TimeT> bool timed_lock_upgrade(TimeT const &) const noexcept;
  12. void unlock_upgrade() const noexcept;
  13. void unlock_upgrade_and_lock() const noexcept;
  14. void unlock_and_lock_upgrade() const noexcept;
  15. void unlock_and_lock_shared() const noexcept;
  16. void unlock_upgrade_and_lock_shared() const noexcept;
  17. void swap(single_thread_model &) noexcept;

PrevUpHomeNext