#include <algorithm>
#include <atomic>
#include <cstdint>
#include <type_traits>
#include <utility>
#include "absl/base/internal/invoke.h"
#include "absl/base/internal/low_level_scheduling.h"
#include "absl/base/internal/raw_logging.h"
#include "absl/base/internal/scheduling_mode.h"
#include "absl/base/internal/spinlock_wait.h"
#include "absl/base/macros.h"
#include "absl/base/optimization.h"
#include "absl/base/port.h"
Go to the source code of this file.
|
template<typename Callable , typename... Args> |
void | absl::call_once (absl::once_flag &flag, Callable &&fn, Args &&... args) |
|
template<typename Callable , typename... Args> |
ABSL_ATTRIBUTE_NOINLINE void | absl::base_internal::CallOnceImpl (std::atomic< uint32_t > *control, base_internal::SchedulingMode scheduling_mode, Callable &&fn, Args &&... args) |
|
std::atomic< uint32_t > * | absl::base_internal::ControlWord (absl::once_flag *flag) |
|
template<typename Callable , typename... Args> |
void | absl::base_internal::LowLevelCallOnce (absl::once_flag *flag, Callable &&fn, Args &&... args) |
|