#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.
Classes | |
| class | absl::once_flag |
| class | absl::base_internal::SchedulingHelper |
Namespaces | |
| absl | |
| absl::base_internal | |
Enumerations | |
| enum | { absl::base_internal::kOnceInit = 0, absl::base_internal::kOnceRunning = 0x65C2937B, absl::base_internal::kOnceWaiter = 0x05A308D2, absl::base_internal::kOnceDone = 221 } |
Functions | |
| template<typename Callable , typename... Args> | |
| void | absl::call_once (absl::once_flag &flag, Callable &&fn, Args &&...args) |
| template<typename Callable , typename... Args> | |
| 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) |