59#ifndef GUM_PRM_O3PRM_ERRORS_H
60# define GUM_PRM_O3PRM_ERRORS_H
62# ifndef DOXYGEN_SHOULD_SKIP_THIS
69 void O3PRM_TYPE_NOT_FOUND(
const O3Label& val, ErrorsContainer& errors);
71 void O3PRM_TYPE_AMBIGUOUS(
const O3Label& val,
72 const std::vector< std::string >& matches,
73 ErrorsContainer& errors);
75 void O3PRM_TYPE_RESERVED(
const O3Label& val, ErrorsContainer& errors);
77 void O3PRM_TYPE_DUPPLICATE(
const O3Label& val, ErrorsContainer& errors);
79 void O3PRM_TYPE_CYCLIC_INHERITANCE(
const O3Label& sub_type,
81 ErrorsContainer& errors);
83 void O3PRM_TYPE_UNKNOWN_LABEL(
const O3Label& type,
const O3Label& l, ErrorsContainer& errors);
85 void O3PRM_TYPE_INVALID_RANGE(
const O3IntType& val, ErrorsContainer& errors);
87 void O3PRM_TYPE_INVALID_RANGE(
const O3RealType& val, ErrorsContainer& errors);
89 void O3PRM_CLASS_NOT_FOUND(
const O3Label& val, ErrorsContainer& errors);
91 void O3PRM_CLASS_AMBIGUOUS(
const O3Label& val,
92 const std::vector< std::string >& matches,
93 ErrorsContainer& errors);
95 void O3PRM_CLASS_DUPLICATE(
const O3Label& val, ErrorsContainer& errors);
97 void O3PRM_CLASS_CYLIC_INHERITANCE(
const O3Label& sub,
99 ErrorsContainer& errors);
101 void O3PRM_CLASS_ATTR_IMPLEMENTATION(
const O3Label& c,
104 ErrorsContainer& errors);
106 void O3PRM_CLASS_AGG_IMPLEMENTATION(
const O3Label& c,
109 ErrorsContainer& errors);
111 void O3PRM_CLASS_REF_IMPLEMENTATION(
const O3Label& c,
114 ErrorsContainer& errors);
116 void O3PRM_CLASS_MISSING_ATTRIBUTES(
const O3Label& c,
118 ErrorsContainer& errors);
120 void O3PRM_CLASS_DUPLICATE_REFERENCE(
const O3Label& ref, ErrorsContainer& errors);
123 O3PRM_CLASS_SELF_REFERENCE(
const O3Label& c,
const O3Label& ref, ErrorsContainer& errors);
125 void O3PRM_CLASS_ILLEGAL_SUB_REFERENCE(
const O3Label& c,
127 ErrorsContainer& errors);
129 void O3PRM_CLASS_PARENT_NOT_FOUND(
const O3Label& parent, ErrorsContainer& errors);
131 void O3PRM_CLASS_ILLEGAL_PARENT(
const O3Label& parent, ErrorsContainer& errors);
133 void O3PRM_CLASS_LINK_NOT_FOUND(
const O3Label& chain,
135 ErrorsContainer& errors);
137 void O3PRM_CLASS_ILLEGAL_CPT_SIZE(std::string_view c,
141 ErrorsContainer& errors);
143 void O3PRM_CLASS_ILLEGAL_CPT_VALUE(std::string_view c,
146 ErrorsContainer& errors);
148 void O3PRM_CLASS_CPT_DOES_NOT_SUM_TO_1(std::string_view c,
151 ErrorsContainer& errors);
153 void O3PRM_CLASS_CPT_DOES_NOT_SUM_TO_1_WARNING(std::string_view c,
156 ErrorsContainer& errors);
162 ErrorsContainer& errors);
167 ErrorsContainer& errors);
169 void O3PRM_CLASS_WRONG_PARENT(
const O3Label& prnt, ErrorsContainer& errors);
171 void O3PRM_CLASS_WRONG_PARENT_TYPE(
const O3Label& prnt,
172 std::string_view expected,
173 std::string_view found,
174 ErrorsContainer& errors);
176 void O3PRM_CLASS_ILLEGAL_OVERLOAD(
const O3Label& elt,
178 ErrorsContainer& errors);
180 void O3PRM_CLASS_AGG_PARAMETERS(
const O3Label& agg,
183 ErrorsContainer& errors);
185 void O3PRM_CLASS_AGG_PARAMETER_NOT_FOUND(
const O3Label& agg,
187 ErrorsContainer& errors);
189 void O3PRM_INTERFACE_ILLEGAL_ARRAY(
const O3Label& val, ErrorsContainer& errors);
191 void O3PRM_INTERFACE_NOT_FOUND(
const O3Label& val, ErrorsContainer& errors);
193 void O3PRM_INTERFACE_AMBIGUOUS(
const O3Label& val,
194 const std::vector< std::string >& matches,
195 ErrorsContainer& errors);
197 void O3PRM_INTERFACE_DUPLICATE(
const O3Label& val, ErrorsContainer& errors);
200 ErrorsContainer& errors);
202 void O3PRM_INTERFACE_CYCLIC_INHERITANCE(
const O3Label& sub,
204 ErrorsContainer& errors);
206 void O3PRM_INTERFACE_SELF_REFERENCE(
const O3Interface& i,
208 ErrorsContainer& errors);
210 void O3PRM_INTERFACE_ILLEGAL_SUB_REFERENCE(
const O3Interface& i,
212 ErrorsContainer& errors);
214 void O3PRM_INTERFACE_ILLEGAL_OVERLOAD(
const O3InterfaceElement& elt, ErrorsContainer& errors);
216 void O3PRM_REFERENCE_NOT_FOUND(
const O3Label& val, ErrorsContainer& errors);
218 void O3PRM_REFERENCE_AMBIGUOUS(
const O3Label& val,
219 const std::vector< std::string >& matches,
220 ErrorsContainer& errors);
222 void O3PRM_SYSTEM_INSTANTIATION_FAILED(
const O3System& sys, ErrorsContainer& errors);
224 void O3PRM_SYSTEM_NOT_A_CLASS(
const O3Instance& i, ErrorsContainer& errors);
226 void O3PRM_SYSTEM_DUPLICATE_INSTANCE(
const O3Instance& i, ErrorsContainer& errors);
228 void O3PRM_SYSTEM_NOT_A_PARAMETER(
const O3InstanceParameter& param, ErrorsContainer& errors);
231 ErrorsContainer& errors);
234 ErrorsContainer& errors);
237 ErrorsContainer& errors);
239 void O3PRM_SYSTEM_INVALID_LEFT_VALUE(
const O3Label& val, ErrorsContainer& errors);
241 void O3PRM_SYSTEM_INSTANCE_NOT_FOUND(
const O3Label& i, ErrorsContainer& errors);
243 void O3PRM_SYSTEM_REFERENCE_NOT_FOUND(
const O3Label& ref,
244 std::string_view type,
245 ErrorsContainer& errors);
247 void O3PRM_SYSTEM_NOT_AN_ARRAY(
const O3Label& val, ErrorsContainer& errors);
249 void O3PRM_DEPRECATED_TYPE_WARNING(
const O3Label& type, ErrorsContainer& errors);
Headers for the AST of the O3PRM language.
The O3InstanceParameter is part of the AST of the O3PRM language.
The O3Instance is part of the AST of the O3PRM language.
The O3IntType is part of the AST of the O3PRM language.
The O3InterfaceElement is part of the AST of the O3PRM language.
The O3Interface is part of the AST of the O3PRM language.
The O3Label is part of the AST of the O3PRM language.
The O3RealType is part of the AST of the O3PRM language.
std::pair< O3LabelList, O3FormulaList > O3Rule
The O3System is part of the AST of the O3PRM language.
Errors container (at least) for parser.
std::size_t Size
In aGrUM, hashed values are unsigned long int.
namespace for all probabilistic relational models entities
gum is the global namespace for all aGrUM entities