#include "base/task/sequence_manager/atomic_flag_set.h"
#include <bit>
#include <utility>
#include "base/check_op.h"
#include "base/functional/callback.h"
namespace base::sequence_manager::internal {
AtomicFlagSet::AtomicFlagSet(
scoped_refptr<const AssociatedThreadId> associated_thread)
: … { … }
AtomicFlagSet::~AtomicFlagSet() { … }
AtomicFlagSet::AtomicFlag::AtomicFlag() = default;
AtomicFlagSet::AtomicFlag::~AtomicFlag() { … }
AtomicFlagSet::AtomicFlag::AtomicFlag(AtomicFlagSet* outer,
Group* element,
size_t flag_bit)
: … { … }
AtomicFlagSet::AtomicFlag::AtomicFlag(AtomicFlag&& other)
: … { … }
void AtomicFlagSet::AtomicFlag::SetActive(bool active) { … }
void AtomicFlagSet::AtomicFlag::ReleaseAtomicFlag() { … }
AtomicFlagSet::AtomicFlag AtomicFlagSet::AddFlag(RepeatingClosure callback) { … }
void AtomicFlagSet::RunActiveCallbacks() const { … }
AtomicFlagSet::Group::Group() = default;
AtomicFlagSet::Group::~Group() { … }
bool AtomicFlagSet::Group::IsFull() const { … }
bool AtomicFlagSet::Group::IsEmpty() const { … }
size_t AtomicFlagSet::Group::FindFirstUnallocatedFlag() const { … }
size_t AtomicFlagSet::Group::IndexOfFirstFlagSet(size_t flag) { … }
void AtomicFlagSet::AddToAllocList(std::unique_ptr<Group> group) { … }
void AtomicFlagSet::RemoveFromAllocList(Group* group) { … }
void AtomicFlagSet::AddToPartiallyFreeList(Group* group) { … }
void AtomicFlagSet::RemoveFromPartiallyFreeList(Group* group) { … }
}