The <jss/guards.hpp> header containers the jss::lock_guard
class template, jss::scoped_lock
class template and jss::generic_lock_guard
class for acquiring locks, and ensuring that they are correctly released
when the scope is exited.
namespace jss { class generic_lock_guard; template<typename ... LockableTypes> class lock_guard; template<typename ... LockableTypes> class scoped_lock; }