Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
absl::Condition Class Reference

#include <mutex.h>

Public Member Functions

 Condition (bool(*func)(void *), void *arg)
 
template<typename T >
 Condition (bool(*func)(T *), T *arg)
 
template<typename T >
 Condition (T *object, bool(absl::internal::identity< T >::type::*method)())
 
template<typename T >
 Condition (const T *object, bool(absl::internal::identity< T >::type::*method)() const)
 
 Condition (const bool *cond)
 
template<typename T , typename E = decltype( static_cast<bool (T::*)() const>(&T::operator()))>
 Condition (const T *obj)
 
bool Eval () const
 

Static Public Member Functions

static bool GuaranteedEqual (const Condition *a, const Condition *b)
 

Static Public Attributes

static const Condition kTrue
 

Private Types

typedef bool(* InternalFunctionType) (void *arg)
 
typedef bool(* InternalMethodCallerType) (void *arg, InternalMethodType internal_method)
 
typedef bool(Condition::* InternalMethodType) ()
 

Private Member Functions

 Condition ()
 

Static Private Member Functions

static bool CallVoidPtrFunction (const Condition *)
 
template<typename T >
static bool CastAndCallFunction (const Condition *c)
 
template<typename T >
static bool CastAndCallMethod (const Condition *c)
 

Private Attributes

void * arg_
 
bool(* eval_ )(const Condition *)
 
InternalFunctionType function_
 
InternalMethodType method_
 

Detailed Description

Definition at line 645 of file mutex.h.

Member Typedef Documentation

◆ InternalFunctionType

typedef bool(* absl::Condition::InternalFunctionType) (void *arg)
private

Definition at line 722 of file mutex.h.

◆ InternalMethodCallerType

typedef bool(* absl::Condition::InternalMethodCallerType) (void *arg, InternalMethodType internal_method)
private

Definition at line 724 of file mutex.h.

◆ InternalMethodType

typedef bool(Condition::* absl::Condition::InternalMethodType) ()
private

Definition at line 723 of file mutex.h.

Constructor & Destructor Documentation

◆ Condition() [1/7]

absl::Condition::Condition ( bool(*)(void *)  func,
void *  arg 
)

Definition at line 294 of file mutex_nonprod.cc.

◆ Condition() [2/7]

template<typename T >
absl::Condition::Condition ( bool(*)(T *)  func,
T *  arg 
)
inline

Definition at line 934 of file mutex.h.

◆ Condition() [3/7]

template<typename T >
absl::Condition::Condition ( T *  object,
bool(absl::internal::identity< T >::type::*)()  method 
)
inline

Definition at line 941 of file mutex.h.

◆ Condition() [4/7]

template<typename T >
absl::Condition::Condition ( const T *  object,
bool(absl::internal::identity< T >::type::*)() const  method 
)
inline

Definition at line 949 of file mutex.h.

◆ Condition() [5/7]

absl::Condition::Condition ( const bool *  cond)
explicit

Definition at line 304 of file mutex_nonprod.cc.

◆ Condition() [6/7]

template<typename T , typename E = decltype( static_cast<bool (T::*)() const>(&T::operator()))>
absl::Condition::Condition ( const T *  obj)
inlineexplicit

Definition at line 703 of file mutex.h.

◆ Condition() [7/7]

absl::Condition::Condition ( )
private

Definition at line 291 of file mutex_nonprod.cc.

Member Function Documentation

◆ CallVoidPtrFunction()

bool absl::Condition::CallVoidPtrFunction ( const Condition c)
staticprivate

Definition at line 300 of file mutex_nonprod.cc.

◆ CastAndCallFunction()

template<typename T >
bool absl::Condition::CastAndCallFunction ( const Condition c)
staticprivate

Definition at line 926 of file mutex.h.

◆ CastAndCallMethod()

template<typename T >
bool absl::Condition::CastAndCallMethod ( const Condition c)
staticprivate

Definition at line 917 of file mutex.h.

◆ Eval()

bool absl::Condition::Eval ( ) const

Definition at line 311 of file mutex_nonprod.cc.

◆ GuaranteedEqual()

bool absl::Condition::GuaranteedEqual ( const Condition a,
const Condition b 
)
static

Definition at line 2712 of file mutex.cc.

Member Data Documentation

◆ arg_

void* absl::Condition::arg_
private

Definition at line 730 of file mutex.h.

◆ eval_

bool(* absl::Condition::eval_) (const Condition *)
private

Definition at line 727 of file mutex.h.

◆ function_

InternalFunctionType absl::Condition::function_
private

Definition at line 728 of file mutex.h.

◆ kTrue

const Condition absl::Condition::kTrue
static

Definition at line 707 of file mutex.h.

◆ method_

InternalMethodType absl::Condition::method_
private

Definition at line 729 of file mutex.h.


The documentation for this class was generated from the following files:


abseil_cpp
Author(s):
autogenerated on Mon Feb 28 2022 21:31:22