class intrusive_graph_node
Declaration
template <typename T>
class intrusive_graph_node { /* full declaration omitted */ };
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
- add_dependency(dependency dep) → void
- get_dependencies() const → auto
- get_dependents() const → auto
- get_pseudo_critical_path_length() const → int
- has_dependency(const T * node, std::optional<dependency_kind> kind = std::nullopt) const → bool
- has_dependent(const T * node, std::optional<dependency_kind> kind = std::nullopt) const → bool
- intrusive_graph_node()
- remove_dependency(const T * node) → void
- ~intrusive_graph_node()
- template <typename Range>
find_by_node(Range & rng, const T * node) → static auto
Member Functions
¶void add_dependency(dependency dep)
void add_dependency(dependency dep)
Parameters
- dependency dep
¶auto get_dependencies() const
auto get_dependencies() const
¶auto get_dependents() const
auto get_dependents() const
¶int get_pseudo_critical_path_length() const
int get_pseudo_critical_path_length() const
¶bool has_dependency(const T* node,
std::optional<dependency_kind>
kind = std::nullopt) const
bool has_dependency(const T* node,
std::optional<dependency_kind>
kind = std::nullopt) const
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
bool has_dependent(const T* node,
std::optional<dependency_kind>
kind = std::nullopt) const
Parameters
- const T* node
- std::optional<dependency_kind> kind = std::nullopt
¶intrusive_graph_node()
intrusive_graph_node()
¶void remove_dependency(const T* node)
void remove_dependency(const T* node)
Parameters
- const T* node
¶~intrusive_graph_node()
~intrusive_graph_node()
¶template <typename Range>
static auto find_by_node(Range& rng,
const T* node)
template <typename Range>
static auto find_by_node(Range& rng,
const T* node)
Template Parameters
- Range
Parameters
- Range& rng
- const T* node