31 static auto&
get(
auto& n )
39 static auto&
get(
auto& n )
45 template <
typename T >
59 template <
typename... Args >
61 : content_( std::forward< Args >( args )... )
95 template <
typename T,
typename EdgeType >
113 template <
typename... Args >
115 : content_( std::forward< Args >( args )... )
170 template <
typename NodeType >
178 constexpr
graph() noexcept = default;
186 return nodes_.begin();
191 return nodes_.begin();
199 [[nodiscard]]
auto end()
const
206 nodes_.clear_if(
f );
209 template <
typename... Ts >
212 return nodes_.emplace_front( std::forward< Ts >( args )... );
T * operator->()
Definition: dag.hpp:65
const T * operator->() const
Definition: dag.hpp:70
list_header< gedge, lrheader_accessor > lrheader_type
Definition: dag.hpp:50
const T & operator*() const
Definition: dag.hpp:80
gedge & operator=(const gedge &other)=delete
gedge(const gedge &other)=delete
gedge(Args &&... args)
Definition: dag.hpp:60
list_header< gedge, lheader_accessor > lheader_type
Definition: dag.hpp:49
T & operator*()
Definition: dag.hpp:75
gedge & operator=(gedge &&other)=delete
gedge(gedge &&other)=delete
gnode(gnode &&other)=delete
T * operator->()
Definition: dag.hpp:119
typename edge_type::list_type edge_list
Definition: dag.hpp:101
gnode & operator=(const gnode &other)=delete
list_header< gnode, lheader_accessor > lheader_type
Definition: dag.hpp:100
gnode(const gnode &other)=delete
EdgeType edge_type
Definition: dag.hpp:99
typename edge_type::rlist_type edge_rlist
Definition: dag.hpp:102
const edge_rlist & in_edges() const
Definition: dag.hpp:154
edge_rlist & in_edges()
Definition: dag.hpp:149
T & operator*()
Definition: dag.hpp:129
const edge_list & out_edges() const
Definition: dag.hpp:144
const T & operator*() const
Definition: dag.hpp:134
const T * operator->() const
Definition: dag.hpp:124
edge_list & out_edges()
Definition: dag.hpp:139
gnode(Args &&... args)
Definition: dag.hpp:114
gnode & operator=(gnode &&other)=delete
typename node_type::list_type node_list
Definition: dag.hpp:176
typename node_type::edge_type edge_type
Definition: dag.hpp:175
constexpr graph() noexcept=default
auto begin()
Definition: dag.hpp:184
auto end() const
Definition: dag.hpp:199
auto begin() const
Definition: dag.hpp:189
node_type & emplace(Ts &&... args)
Definition: dag.hpp:210
NodeType node_type
Definition: dag.hpp:174
auto end()
Definition: dag.hpp:194
void clear_if(auto &&f)
Definition: dag.hpp:204
MIT License.
Definition: dag.hpp:27
Fun && f
Definition: task.hpp:93