#include "absl/base/attributes.h"
#include "absl/base/internal/low_level_alloc.h"
#include "absl/synchronization/internal/graphcycles.h"
#include <algorithm>
#include <array>
#include "absl/base/internal/hide_ptr.h"
#include "absl/base/internal/raw_logging.h"
#include "absl/base/internal/spinlock.h"
Go to the source code of this file.
Classes | |
struct | absl::synchronization_internal::GraphCycles::Rep |
Namespaces | |
namespace | absl |
namespace | absl::synchronization_internal |
Defines | |
#define | HASH_FOR_EACH(elem, eset) for (int32_t elem, _cursor = 0; (eset).Next(&_cursor, &elem); ) |
Functions | |
static void | absl::synchronization_internal::BackwardDFS (GraphCycles::Rep *r, int32_t n, int32_t lower_bound) |
static Node * | absl::synchronization_internal::FindNode (GraphCycles::Rep *rep, GraphId id) |
static bool | absl::synchronization_internal::ForwardDFS (GraphCycles::Rep *r, int32_t n, int32_t upper_bound) |
static void | absl::synchronization_internal::MoveToList (GraphCycles::Rep *r, Vec< int32_t > *src, Vec< int32_t > *dst) |
static void | absl::synchronization_internal::Reorder (GraphCycles::Rep *r) |
static void | absl::synchronization_internal::Sort (const Vec< Node * > &, Vec< int32_t > *delta) |
#define HASH_FOR_EACH | ( | elem, | |
eset | |||
) | for (int32_t elem, _cursor = 0; (eset).Next(&_cursor, &elem); ) |
Definition at line 192 of file graphcycles.cc.
uint32_t capacity_ |
Definition at line 130 of file graphcycles.cc.
NodeSet in |
Definition at line 282 of file graphcycles.cc.
constexpr uint32_t kHashTableSize = 8171 [static] |
Definition at line 331 of file graphcycles.cc.
uintptr_t masked_ptr |
Definition at line 281 of file graphcycles.cc.
int32_t next_hash |
Definition at line 279 of file graphcycles.cc.
const Vec<Node*>* nodes_ |
Definition at line 333 of file graphcycles.cc.
int nstack |
Definition at line 285 of file graphcycles.cc.
uint32_t occupied_ |
Definition at line 209 of file graphcycles.cc.
NodeSet out |
Definition at line 283 of file graphcycles.cc.
int priority |
Definition at line 284 of file graphcycles.cc.
T* ptr_ |
Definition at line 127 of file graphcycles.cc.
int32_t rank |
Definition at line 277 of file graphcycles.cc.
uint32_t size_ |
Definition at line 129 of file graphcycles.cc.
T space_[kInline] |
Definition at line 128 of file graphcycles.cc.
void* stack[40] |
Definition at line 286 of file graphcycles.cc.
std::array<int32_t, kHashTableSize> table_ |
Definition at line 208 of file graphcycles.cc.
uint32_t version |
Definition at line 278 of file graphcycles.cc.
bool visited |
Definition at line 280 of file graphcycles.cc.