34 #include <agrum/PRM/o3prm/O3prm.h> 35 #include <agrum/tools/core/errorsContainer.h> 37 #ifndef GUM_PRM_O3PRM_ERRORS_H 38 # define GUM_PRM_O3PRM_ERRORS_H 40 # ifndef DOXYGEN_SHOULD_SKIP_THIS 47 void O3PRM_TYPE_NOT_FOUND(
const O3Label& val, ErrorsContainer& errors);
49 void O3PRM_TYPE_AMBIGUOUS(
const O3Label& val,
50 const std::vector< std::string >& matches,
51 ErrorsContainer& errors);
53 void O3PRM_TYPE_RESERVED(
const O3Label& val, ErrorsContainer& errors);
55 void O3PRM_TYPE_DUPPLICATE(
const O3Label& val, ErrorsContainer& errors);
57 void O3PRM_TYPE_CYCLIC_INHERITANCE(
const O3Label& sub_type,
58 const O3Label& super_type,
59 ErrorsContainer& errors);
61 void O3PRM_TYPE_UNKNOWN_LABEL(
const O3Label& type,
63 ErrorsContainer& errors);
65 void O3PRM_TYPE_INVALID_RANGE(
const O3IntType& val, ErrorsContainer& errors);
67 void O3PRM_TYPE_INVALID_RANGE(
const O3RealType& val,
68 ErrorsContainer& errors);
70 void O3PRM_CLASS_NOT_FOUND(
const O3Label& val, ErrorsContainer& errors);
72 void O3PRM_CLASS_AMBIGUOUS(
const O3Label& val,
73 const std::vector< std::string >& matches,
74 ErrorsContainer& errors);
76 void O3PRM_CLASS_DUPLICATE(
const O3Label& val, ErrorsContainer& errors);
78 void O3PRM_CLASS_CYLIC_INHERITANCE(
const O3Label& sub,
80 ErrorsContainer& errors);
82 void O3PRM_CLASS_ATTR_IMPLEMENTATION(
const O3Label& c,
85 ErrorsContainer& errors);
87 void O3PRM_CLASS_AGG_IMPLEMENTATION(
const O3Label& c,
90 ErrorsContainer& errors);
92 void O3PRM_CLASS_REF_IMPLEMENTATION(
const O3Label& c,
95 ErrorsContainer& errors);
97 void O3PRM_CLASS_MISSING_ATTRIBUTES(
const O3Label& c,
99 ErrorsContainer& errors);
101 void O3PRM_CLASS_DUPLICATE_REFERENCE(
const O3Label& ref,
102 ErrorsContainer& errors);
104 void O3PRM_CLASS_SELF_REFERENCE(
const O3Label& c,
106 ErrorsContainer& errors);
108 void O3PRM_CLASS_ILLEGAL_SUB_REFERENCE(
const O3Label& c,
110 ErrorsContainer& errors);
112 void O3PRM_CLASS_PARENT_NOT_FOUND(
const O3Label& parent,
113 ErrorsContainer& errors);
115 void O3PRM_CLASS_ILLEGAL_PARENT(
const O3Label& parent,
116 ErrorsContainer& errors);
118 void O3PRM_CLASS_LINK_NOT_FOUND(
const O3Label& chain,
119 const std::string& s,
120 ErrorsContainer& errors);
122 void O3PRM_CLASS_ILLEGAL_CPT_SIZE(
const std::string& c,
126 ErrorsContainer& errors);
128 void O3PRM_CLASS_ILLEGAL_CPT_VALUE(
const std::string& c,
131 ErrorsContainer& errors);
133 void O3PRM_CLASS_CPT_DOES_NOT_SUM_TO_1(
const std::string& c,
136 ErrorsContainer& errors);
138 void O3PRM_CLASS_CPT_DOES_NOT_SUM_TO_1_WARNING(
const std::string& c,
141 ErrorsContainer& errors);
144 void O3PRM_CLASS_ILLEGAL_RULE_SIZE(
const O3RuleCPT::O3Rule& rule,
147 ErrorsContainer& errors);
149 void O3PRM_CLASS_ILLEGAL_RULE_LABEL(
const O3RuleCPT::O3Rule& rule,
150 const O3Label& label,
151 const O3Label& parent,
152 ErrorsContainer& errors);
154 void O3PRM_CLASS_WRONG_PARENT(
const O3Label& prnt, ErrorsContainer& errors);
156 void O3PRM_CLASS_WRONG_PARENT_TYPE(
const O3Label& prnt,
157 const std::string& expected,
158 const std::string& found,
159 ErrorsContainer& errors);
161 void O3PRM_CLASS_ILLEGAL_OVERLOAD(
const O3Label& elt,
162 const O3Label& super,
163 ErrorsContainer& errors);
165 void O3PRM_CLASS_AGG_PARAMETERS(
const O3Label& agg,
168 ErrorsContainer& errors);
170 void O3PRM_CLASS_AGG_PARAMETER_NOT_FOUND(
const O3Label& agg,
171 const O3Label& param,
172 ErrorsContainer& errors);
174 void O3PRM_INTERFACE_ILLEGAL_ARRAY(
const O3Label& val,
175 ErrorsContainer& errors);
177 void O3PRM_INTERFACE_NOT_FOUND(
const O3Label& val, ErrorsContainer& errors);
179 void O3PRM_INTERFACE_AMBIGUOUS(
const O3Label& val,
180 const std::vector< std::string >& matches,
181 ErrorsContainer& errors);
183 void O3PRM_INTERFACE_DUPLICATE(
const O3Label& val, ErrorsContainer& errors);
185 void O3PRM_INTERFACE_DUPLICATE_ELEMENT(
const O3InterfaceElement& elt,
186 ErrorsContainer& errors);
188 void O3PRM_INTERFACE_CYCLIC_INHERITANCE(
const O3Label& sub,
189 const O3Label& super,
190 ErrorsContainer& errors);
192 void O3PRM_INTERFACE_SELF_REFERENCE(
const O3Interface& i,
193 const O3InterfaceElement& r,
194 ErrorsContainer& errors);
196 void O3PRM_INTERFACE_ILLEGAL_SUB_REFERENCE(
const O3Interface& i,
197 const O3InterfaceElement& ref,
198 ErrorsContainer& errors);
200 void O3PRM_INTERFACE_ILLEGAL_OVERLOAD(
const O3InterfaceElement& elt,
201 ErrorsContainer& errors);
203 void O3PRM_REFERENCE_NOT_FOUND(
const O3Label& val, ErrorsContainer& errors);
205 void O3PRM_REFERENCE_AMBIGUOUS(
const O3Label& val,
206 const std::vector< std::string >& matches,
207 ErrorsContainer& errors);
209 void O3PRM_SYSTEM_INSTANTIATION_FAILED(
const O3System& sys,
210 ErrorsContainer& errors);
212 void O3PRM_SYSTEM_NOT_A_CLASS(
const O3Instance& i, ErrorsContainer& errors);
214 void O3PRM_SYSTEM_DUPLICATE_INSTANCE(
const O3Instance& i,
215 ErrorsContainer& errors);
217 void O3PRM_SYSTEM_NOT_A_PARAMETER(
const O3InstanceParameter& param,
218 ErrorsContainer& errors);
220 void O3PRM_SYSTEM_PARAMETER_NOT_FOUND(
const O3InstanceParameter& param,
221 ErrorsContainer& errors);
223 void O3PRM_SYSTEM_PARAMETER_NOT_INT(
const O3InstanceParameter& param,
224 ErrorsContainer& errors);
226 void O3PRM_SYSTEM_PARAMETER_NOT_FLOAT(
const O3InstanceParameter& param,
227 ErrorsContainer& errors);
229 void O3PRM_SYSTEM_INVALID_LEFT_VALUE(
const O3Label& val,
230 ErrorsContainer& errors);
232 void O3PRM_SYSTEM_INSTANCE_NOT_FOUND(
const O3Label& i,
233 ErrorsContainer& errors);
235 void O3PRM_SYSTEM_REFERENCE_NOT_FOUND(
const O3Label& ref,
236 const std::string& type,
237 ErrorsContainer& errors);
239 void O3PRM_SYSTEM_NOT_AN_ARRAY(
const O3Label& val, ErrorsContainer& errors);
241 void O3PRM_DEPRECATED_TYPE_WARNING(
const O3Label& type,
242 ErrorsContainer& errors);