## 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;