Skip to main content

class intrusive_graph_node

Declaration

template <typename T>
class intrusive_graph_node { /* full declaration omitted */ };

Declared at: include/intrusive_graph.h:49

Template Parameters

T

Member Variables

gch::small_vector<dependency> m_dependencies
gch::small_vector<dependent> m_dependents
int m_pseudo_critical_path_length = 0

Member Aliases

  • using dependent = dependency;

Member Function Overview

Member Functions

void add_dependency(dependency dep)

Declared at: include/intrusive_graph.h:78

Parameters

dependency dep

auto get_dependencies() const

Declared at: include/intrusive_graph.h:128


auto get_dependents() const

Declared at: include/intrusive_graph.h:129


int get_pseudo_critical_path_length() const

Declared at: include/intrusive_graph.h:131


bool has_dependency(const T* node,
                    std::optional<dependency_kind>
                        kind = std::nullopt) const

Declared at: include/intrusive_graph.h:118

Parameters

const T* node
std::optional<dependency_kind> kind = std::nullopt

bool has_dependent(const T* node,
                   std::optional<dependency_kind>
                       kind = std::nullopt) const

Declared at: include/intrusive_graph.h:123

Parameters

const T* node
std::optional<dependency_kind> kind = std::nullopt

intrusive_graph_node()

Declared at: include/intrusive_graph.h:60


void remove_dependency(const T* node)

Declared at: include/intrusive_graph.h:108

Parameters

const T* node

~intrusive_graph_node()

Declared at: include/intrusive_graph.h:63


template <typename Range>
static auto find_by_node(Range& rng,
                         const T* node)

Declared at: include/intrusive_graph.h:146

Template Parameters

Range

Parameters

Range& rng
const T* node