## Struct template strictest_lock

boost::log::strictest_lock — The metafunction selects the most strict lock type of the specified.

## Synopsis

    // In header: <boost/log/utility/strictest_lock.hpp>

    template<typename... LocksT>
    struct strictest_lock {
      // types
      typedef implementation_defined type;
    };

## Description

The template supports all lock types provided by the Boost.Thread library (except for `upgrade_to_unique_lock`), plus additional pseudo-lock `no_lock` that indicates no locking at all. Exclusive locks are considered the strictest, shared locks are weaker, and `no_lock` is the weakest.