3 #include "core/recursive_vector.h" 15 : item(std::move(item)) {}
23 constexpr
bool operator<(const multitree<T>& a,
const multitree<T>& b) {
24 return a.item < b.item;
27 template <
typename T,
typename It>
30 const auto it = tree.branches.insert(
multitree<T>{*begin}).first;
31 add_path(*it, std::next(begin), end);
38 template <
typename T,
typename Callback>
39 void traverse_multitree(
const multitree<T>& tree,
const Callback& callback) {
40 const auto next = callback(tree.item);
41 for (
const auto& i : tree.branches) {
42 detail::traverse_multitree(i, next);
48 template <
typename T,
typename Callback>
49 void traverse_multitree(
const multitree<T>& tree,
const Callback& callback) {
50 for (
const auto& i : tree.branches) {
51 detail::traverse_multitree(i, callback);
Definition: pressure.h:22
Definition: capsule_base.h:9
Definition: multitree.h:13
Definition: recursive_vector.h:225