7#if !defined(TETENGO_LATTICE_CONSTRAINT_HPP)
8#define TETENGO_LATTICE_CONSTRAINT_HPP
13#include <boost/core/noncopyable.hpp>
18 class constraint_element;
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.
Definition constraint.hpp:26
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.