LAL: Linear Arrangement Library 21.07.01
A library focused on algorithms on linear arrangements of graphs.
Loading...
Searching...
No Matches
syntactic_dependency_structure.hpp
1/*********************************************************************
2*
3* Linear Arrangement Library - A library that implements a collection
4* algorithms for linear arrangments of graphs.
5*
6* Copyright (C) 2019 - 2021
7*
8* This file is part of Linear Arrangement Library. To see the full code
9* visit the webpage:
10* https://github.com/lluisalemanypuig/linear-arrangement-library.git
11*
12* Linear Arrangement Library is free software: you can redistribute it
13* and/or modify it under the terms of the GNU Affero General Public License
14* as published by the Free Software Foundation, either version 3 of the
15* License, or (at your option) any later version.
16*
17* Linear Arrangement Library is distributed in the hope that it will be
18* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
19* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20* GNU Affero General Public License for more details.
21*
22* You should have received a copy of the GNU Affero General Public License
23* along with Linear Arrangement Library. If not, see <http://www.gnu.org/licenses/>.
24*
25* Contact:
26*
27* LluĂ­s Alemany Puig (lalemany@cs.upc.edu)
28* LARCA (Laboratory for Relational Algorithmics, Complexity and Learning)
29* CQL (Complexity and Quantitative Linguistics Lab)
30* Jordi Girona St 1-3, Campus Nord UPC, 08034 Barcelona. CATALONIA, SPAIN
31* Webpage: https://cqllab.upc.edu/people/lalemany/
32*
33* Ramon Ferrer i Cancho (rferrericancho@cs.upc.edu)
34* LARCA (Laboratory for Relational Algorithmics, Complexity and Learning)
35* CQL (Complexity and Quantitative Linguistics Lab)
36* Office S124, Omega building
37* Jordi Girona St 1-3, Campus Nord UPC, 08034 Barcelona. CATALONIA, SPAIN
38* Webpage: https://cqllab.upc.edu/people/rferrericancho/
39*
40********************************************************************/
41
42#pragma once
43
44// C++ includes
45#include <string_view>
46#include <array>
47
48// lal includes
49#include <lal/linarr/syntactic_dependency_structure.hpp>
50#include <lal/internal/make_array.hpp>
51
52namespace lal {
53namespace internal {
54
55// Converts to a string a value of the enumeration @ref syntactic_dependency_structure.
56constexpr std::string_view
57syntactic_dependency_structure_to_string
59noexcept
60{
61 switch (tt) {
66 default: return "unknown_syntactic_dependency_structure";
67 }
68}
69
70static constexpr
71std::array<
74>
75array_of_syntactic_dependency_structures =
76make_array<
83>();
84
85} // -- namespace internal
86} // -- namespace lal
syntactic_dependency_structure
The different types of syntactic dependency tree structures.
Definition syntactic_dependency_structure.hpp:62
@ unknown
The structure could not be classified.
@ WG1
Well nested trees with maximum gap-degree 1.
constexpr std::size_t __syntactic_dependency_structure_size
Number of elements within enumeration syntactic_dependency_structure.
Definition syntactic_dependency_structure.hpp:102
Main namespace of the library.
Definition definitions.hpp:48