[#absl-Condition-2constructor-00] = xref:absl.adoc[absl]::xref:absl/Condition.adoc[Condition]::Condition :relfileprefix: ../../ :mrdocs: Constructors == Synopses Declared in `<absl/synchronization/mutex.h>` Constructs a `Condition` that returns the value of `*cond`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- explicit xref:absl/Condition/2constructor-0fb.adoc[Condition](bool const* cond); ---- [.small]#xref:absl/Condition/2constructor-0fb.adoc[_» more..._]# Constructs a `Condition` from a functor exposing `bool operator() const`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename T> requires synchronization_internal::HasConstMemberCallOperator<T>::value explicit xref:absl/Condition/2constructor-0b.adoc[Condition](T const* obj); ---- [.small]#xref:absl/Condition/2constructor-0b.adoc[_» more..._]# Constructs a `Condition` from a functor that does not match the `bool operator()() const` signature. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename T> requires !synchronization_internal::HasConstMemberCallOperator<T>::value && sizeof(static_cast<bool (*)(const T&)>(&T::operator())) != 0 explicit xref:absl/Condition/2constructor-04.adoc[Condition](T const* obj); ---- [.small]#xref:absl/Condition/2constructor-04.adoc[_» more..._]# Constructs a `Condition` that returns the result of `(*func)(arg)`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:absl/Condition/2constructor-0f9.adoc[Condition]( bool(* func)(void*), void* arg); ---- [.small]#xref:absl/Condition/2constructor-0f9.adoc[_» more..._]# Constructs a `Condition` that evaluates `object‐>method()`. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename T> xref:absl/Condition/2constructor-0ef.adoc[Condition]( T* object, bool(T::* method)()); ---- [.small]#xref:absl/Condition/2constructor-0ef.adoc[_» more..._]# Constructs a `Condition` that evaluates a const member function. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename T> xref:absl/Condition/2constructor-0d.adoc[Condition]( T const* object, bool const(T::* method)()); ---- [.small]#xref:absl/Condition/2constructor-0d.adoc[_» more..._]# Constructs a `Condition` from a typed function pointer and argument. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<typename T> xref:absl/Condition/2constructor-02.adoc[Condition]( bool(* func)(T*), T* arg); ---- [.small]#xref:absl/Condition/2constructor-02.adoc[_» more..._]# Constructs a `Condition` allowing `arg` to be implicitly convertible to the function parameter type. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename T, typename = void> xref:absl/Condition/2constructor-0ec.adoc[Condition]( bool(* func)(T*), T* arg); ---- [.small]#xref:absl/Condition/2constructor-0ec.adoc[_» more..._]# == Parameters [cols="1,4"] |=== | Name| Description | *cond* | Pointer to the boolean to read. | *obj* | The functor to evaluate. | *func* | The predicate function to evaluate. | *arg* | The argument passed to `func`. | *object* | The object on which to invoke the method. | *method* | The member function to evaluate. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#