Some of the templates in the thread library operate on classes that fulfil particular sets of requirements. These sets of requirements are called Concepts, and describe the required operations that must be available for a class to meet the concept, and the semantics of those operations.
Lockable
concept
TimedLockable
concept
SharedLockable
concept