[thread.req.lockable.req] (original) (raw)

32 Concurrency support library [thread]

32.2 Requirements [thread.req]

32.2.5 Requirements for Cpp17Lockable types [thread.req.lockable]

32.2.5.3 Cpp17Lockable requirements [thread.req.lockable.req]

A type L meets the Cpp17Lockable requirements if it meets the Cpp17BasicLockablerequirements and the following expressions are well-formed and have the specified semantics (m denotes a value of type L).

Effects: Attempts to acquire a lock for the current execution agent without blocking.

If an exception is thrown then a lock shall not have been acquired for the current execution agent.

Returns: true if the lock was acquired, otherwise false.