78 static constexpr void init(
Pred&,
Tree const&)
noexcept
82 template <
class Value>
83 [[nodiscard]]
static constexpr bool returnableValue(
Pred const&, Value
const&)
noexcept
89 [[nodiscard]]
static constexpr bool returnable(
Pred const& p,
Tree const& t,
92 if constexpr (Negated) {
93 return !(p.code.depth() > t.
depth(n) &&
96 return p.code.depth() > t.
depth(n) &&
101 template <
class Tree>
102 [[nodiscard]]
static constexpr bool traversable(
Pred const& p,
Tree const& t,
105 if constexpr (Negated) {
106 return returnable(p, t, n);
109 std::max(p.code.depth(), t.
depth(n)));
113 template <
class Tree>
114 [[nodiscard]]
static constexpr bool returnableRay(
Pred const& p,
Tree const& t,
118 return returnable(p, t, n);
121 template <
class Tree>
122 [[nodiscard]]
static constexpr bool traversableRay(
Pred const& p,
Tree const& t,
126 return traversable(p, t, n);