7#if !defined(TETENGO_LATTICE_CONSTRAINT_HPP)
8#define TETENGO_LATTICE_CONSTRAINT_HPP
13#include <boost/core/noncopyable.hpp>
42 explicit constraint(std::vector<std::unique_ptr<constraint_element>>&& pattern);
60 [[nodiscard]]
bool matches(
const std::vector<node>& reverse_path)
const;
70 [[nodiscard]]
bool matches_tail(
const std::vector<node>& reverse_tail_path)
const;
81 const std::unique_ptr<impl> m_p_impl;
A constraint element.
Definition constraint_element.hpp:22
bool matches_tail(const std::vector< node > &reverse_tail_path) const
Returns true when the tail path matches the tail of the pattern.
constraint()
Creates an empty constraint.
bool matches(const std::vector< node > &reverse_path) const
Returns true when the path matches the pattern.
constraint(std::vector< std::unique_ptr< constraint_element > > &&pattern)
Creates a constraint.
~constraint()
Destroys the constraint.
A node.
Definition node.hpp:27