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,
const O3Label& l, ErrorsContainer& errors);
63 void O3PRM_TYPE_INVALID_RANGE(
const O3IntType& val, ErrorsContainer& errors);
65 void O3PRM_TYPE_INVALID_RANGE(
const O3RealType& val, ErrorsContainer& errors);
67 void O3PRM_CLASS_NOT_FOUND(
const O3Label& val, ErrorsContainer& errors);
69 void O3PRM_CLASS_AMBIGUOUS(
const O3Label& val,
70 const std::vector< std::string >& matches,
71 ErrorsContainer& errors);
73 void O3PRM_CLASS_DUPLICATE(
const O3Label& val, ErrorsContainer& errors);
75 void O3PRM_CLASS_CYLIC_INHERITANCE(
const O3Label& sub,
77 ErrorsContainer& errors);
79 void O3PRM_CLASS_ATTR_IMPLEMENTATION(
const O3Label& c,
82 ErrorsContainer& errors);
84 void O3PRM_CLASS_AGG_IMPLEMENTATION(
const O3Label& c,
87 ErrorsContainer& errors);
89 void O3PRM_CLASS_REF_IMPLEMENTATION(
const O3Label& c,
92 ErrorsContainer& errors);
94 void O3PRM_CLASS_MISSING_ATTRIBUTES(
const O3Label& c,
96 ErrorsContainer& errors);
98 void O3PRM_CLASS_DUPLICATE_REFERENCE(
const O3Label& ref, ErrorsContainer& errors);
101 O3PRM_CLASS_SELF_REFERENCE(
const O3Label& c,
const O3Label& ref, ErrorsContainer& errors);
103 void O3PRM_CLASS_ILLEGAL_SUB_REFERENCE(
const O3Label& c,
105 ErrorsContainer& errors);
107 void O3PRM_CLASS_PARENT_NOT_FOUND(
const O3Label& parent, ErrorsContainer& errors);
109 void O3PRM_CLASS_ILLEGAL_PARENT(
const O3Label& parent, ErrorsContainer& errors);
111 void O3PRM_CLASS_LINK_NOT_FOUND(
const O3Label& chain,
112 const std::string& s,
113 ErrorsContainer& errors);
115 void O3PRM_CLASS_ILLEGAL_CPT_SIZE(
const std::string& c,
119 ErrorsContainer& errors);
121 void O3PRM_CLASS_ILLEGAL_CPT_VALUE(
const std::string& c,
124 ErrorsContainer& errors);
126 void O3PRM_CLASS_CPT_DOES_NOT_SUM_TO_1(
const std::string& c,
129 ErrorsContainer& errors);
131 void O3PRM_CLASS_CPT_DOES_NOT_SUM_TO_1_WARNING(
const std::string& c,
134 ErrorsContainer& errors);
137 void O3PRM_CLASS_ILLEGAL_RULE_SIZE(
const O3RuleCPT::O3Rule& rule,
140 ErrorsContainer& errors);
142 void O3PRM_CLASS_ILLEGAL_RULE_LABEL(
const O3RuleCPT::O3Rule& rule,
143 const O3Label& label,
144 const O3Label& parent,
145 ErrorsContainer& errors);
147 void O3PRM_CLASS_WRONG_PARENT(
const O3Label& prnt, ErrorsContainer& errors);
149 void O3PRM_CLASS_WRONG_PARENT_TYPE(
const O3Label& prnt,
150 const std::string& expected,
151 const std::string& found,
152 ErrorsContainer& errors);
154 void O3PRM_CLASS_ILLEGAL_OVERLOAD(
const O3Label& elt,
155 const O3Label& super,
156 ErrorsContainer& errors);
158 void O3PRM_CLASS_AGG_PARAMETERS(
const O3Label& agg,
161 ErrorsContainer& errors);
163 void O3PRM_CLASS_AGG_PARAMETER_NOT_FOUND(
const O3Label& agg,
164 const O3Label& param,
165 ErrorsContainer& errors);
167 void O3PRM_INTERFACE_ILLEGAL_ARRAY(
const O3Label& val, ErrorsContainer& errors);
169 void O3PRM_INTERFACE_NOT_FOUND(
const O3Label& val, ErrorsContainer& errors);
171 void O3PRM_INTERFACE_AMBIGUOUS(
const O3Label& val,
172 const std::vector< std::string >& matches,
173 ErrorsContainer& errors);
175 void O3PRM_INTERFACE_DUPLICATE(
const O3Label& val, ErrorsContainer& errors);
177 void O3PRM_INTERFACE_DUPLICATE_ELEMENT(
const O3InterfaceElement& elt,
178 ErrorsContainer& errors);
180 void O3PRM_INTERFACE_CYCLIC_INHERITANCE(
const O3Label& sub,
181 const O3Label& super,
182 ErrorsContainer& errors);
184 void O3PRM_INTERFACE_SELF_REFERENCE(
const O3Interface& i,
185 const O3InterfaceElement& r,
186 ErrorsContainer& errors);
188 void O3PRM_INTERFACE_ILLEGAL_SUB_REFERENCE(
const O3Interface& i,
189 const O3InterfaceElement& ref,
190 ErrorsContainer& errors);
192 void O3PRM_INTERFACE_ILLEGAL_OVERLOAD(
const O3InterfaceElement& elt, ErrorsContainer& errors);
194 void O3PRM_REFERENCE_NOT_FOUND(
const O3Label& val, ErrorsContainer& errors);
196 void O3PRM_REFERENCE_AMBIGUOUS(
const O3Label& val,
197 const std::vector< std::string >& matches,
198 ErrorsContainer& errors);
200 void O3PRM_SYSTEM_INSTANTIATION_FAILED(
const O3System& sys, ErrorsContainer& errors);
202 void O3PRM_SYSTEM_NOT_A_CLASS(
const O3Instance& i, ErrorsContainer& errors);
204 void O3PRM_SYSTEM_DUPLICATE_INSTANCE(
const O3Instance& i, ErrorsContainer& errors);
206 void O3PRM_SYSTEM_NOT_A_PARAMETER(
const O3InstanceParameter& param, ErrorsContainer& errors);
208 void O3PRM_SYSTEM_PARAMETER_NOT_FOUND(
const O3InstanceParameter& param,
209 ErrorsContainer& errors);
211 void O3PRM_SYSTEM_PARAMETER_NOT_INT(
const O3InstanceParameter& param,
212 ErrorsContainer& errors);
214 void O3PRM_SYSTEM_PARAMETER_NOT_FLOAT(
const O3InstanceParameter& param,
215 ErrorsContainer& errors);
217 void O3PRM_SYSTEM_INVALID_LEFT_VALUE(
const O3Label& val, ErrorsContainer& errors);
219 void O3PRM_SYSTEM_INSTANCE_NOT_FOUND(
const O3Label& i, ErrorsContainer& errors);
221 void O3PRM_SYSTEM_REFERENCE_NOT_FOUND(
const O3Label& ref,
222 const std::string& type,
223 ErrorsContainer& errors);
225 void O3PRM_SYSTEM_NOT_AN_ARRAY(
const O3Label& val, ErrorsContainer& errors);
227 void O3PRM_DEPRECATED_TYPE_WARNING(
const O3Label& type, ErrorsContainer& errors);