proxygen
LockTraits.h File Reference
#include <chrono>
#include <type_traits>
#include <folly/functional/Invoke.h>

Go to the source code of this file.

Classes

struct  folly::detail::MutexLevelValueImpl< is_unique, is_shared, is_upgrade >
 
struct  folly::detail::MutexLevelValueImpl< true, false, false >
 
struct  folly::detail::MutexLevelValueImpl< true, true, false >
 
struct  folly::detail::MutexLevelValueImpl< true, true, true >
 
class  folly::detail::LockInterfaceDispatcher< Mutex >
 
struct  folly::detail::LockTraitsImpl< Mutex, level, is_timed >
 
struct  folly::detail::LockTraitsImpl< Mutex, MutexLevel::UNIQUE, false >
 
struct  folly::detail::LockTraitsImpl< Mutex, MutexLevel::SHARED, false >
 
struct  folly::detail::LockTraitsImpl< Mutex, MutexLevel::UPGRADE, false >
 
struct  folly::detail::LockTraitsImpl< Mutex, MutexLevel::UNIQUE, true >
 
struct  folly::detail::LockTraitsImpl< Mutex, MutexLevel::SHARED, true >
 
struct  folly::detail::LockTraitsImpl< Mutex, MutexLevel::UPGRADE, true >
 
struct  folly::detail::UnlockPolicyExclusive< LockTraits >
 
struct  folly::detail::UnlockPolicyShared< LockTraits >
 
struct  folly::detail::UnlockPolicyUpgrade< LockTraits >
 
struct  folly::LockTraitsBase< Mutex >
 
struct  folly::LockTraits< Mutex >
 
struct  folly::LockPolicyExclusive
 
struct  folly::LockPolicyShared
 
struct  folly::LockPolicyUpgrade
 
struct  folly::LockPolicyTryExclusive
 
struct  folly::LockPolicyTryShared
 
struct  folly::LockPolicyTryUpgrade
 
struct  folly::LockPolicyFromUpgradeToExclusive
 
struct  folly::LockPolicyFromExclusiveToUpgrade
 
struct  folly::LockPolicyFromUpgradeToShared
 
struct  folly::LockPolicyFromExclusiveToShared
 

Namespaces

 folly
 —— Concurrent Priority Queue Implementation ——
 
 folly::detail
 
 folly::detail::member
 

Macros

#define FOLLY_LOCK_TRAITS_HAVE_TIMED_MUTEXES   1
 

Enumerations

enum  folly::detail::MutexLevel { folly::detail::MutexLevel::UNIQUE, folly::detail::MutexLevel::SHARED, folly::detail::MutexLevel::UPGRADE }
 

Functions

 folly::detail::member::FOLLY_CREATE_MEMBER_INVOKE_TRAITS (lock, lock)
 
 folly::detail::member::FOLLY_CREATE_MEMBER_INVOKE_TRAITS (try_lock_for, try_lock_for)
 
 folly::detail::member::FOLLY_CREATE_MEMBER_INVOKE_TRAITS (lock_shared, lock_shared)
 
 folly::detail::member::FOLLY_CREATE_MEMBER_INVOKE_TRAITS (lock_upgrade, lock_upgrade)
 

Macro Definition Documentation

#define FOLLY_LOCK_TRAITS_HAVE_TIMED_MUTEXES   1

This module provides a traits class for describing properties about mutex classes.

This is a primitive for building higher-level abstractions that can work with a variety of mutex classes. For instance, this allows folly::Synchronized to support a number of different mutex types.

Definition at line 37 of file LockTraits.h.