7#if !defined(TETENGO_LATTICE_CONSTRAINT_H)
8#define TETENGO_LATTICE_CONSTRAINT_H
17#if defined(__cplusplus)
21#if !defined(DOCUMENTATION)
22typedef struct tetengo_lattice_constraint_tag tetengo_lattice_constraint_t;
47tetengo_lattice_constraint_t*
68 const tetengo_lattice_constraint_t* p_constraint,
83 const tetengo_lattice_constraint_t* p_constraint,
85 size_t tail_path_length);
88#if defined(__cplusplus)
bool tetengo_lattice_constraint_matches(const tetengo_lattice_constraint_t *p_constraint, const tetengo_lattice_node_t *p_reverse_path, size_t path_length)
Returns true when the path matches the pattern.
bool tetengo_lattice_constraint_matchesTail(const tetengo_lattice_constraint_t *p_constraint, const tetengo_lattice_node_t *p_reverse_tail_path, size_t tail_path_length)
Returns true when the tail path matches the tail of the pattern.
void tetengo_lattice_constraint_destroy(const tetengo_lattice_constraint_t *p_constraint)
Destroys a constraint.
tetengo_lattice_constraint_t * tetengo_lattice_constraint_createEmpty()
Creates an empty constraint.
tetengo_lattice_constraint_t * tetengo_lattice_constraint_create(tetengo_lattice_constraintElement_t *const *pp_pattern, size_t pattern_length)
Creates a constraint.
A node.
Definition node.h:25