out-object.h
Go to the documentation of this file.
1 
9 #ifndef _OUTOBJECT_H_
10 #define _OUTOBJECT_H_
11 
12 #include "out-attribute.h"
13 
17 typedef struct OutObject {
19  char* name;
23  unsigned char disabled;
28  Vector(OutAttribute) attributes;
33  Vector(struct OutObject*) relations;
34 } OutObject;
35 
40 void initOutObject(OutObject* oo);
41 
47 void freeOutObject(OutObject* oo, int freeItself);
48 
56 int haveSameRelations(OutObject* oo1, OutObject* oo2);
57 
65 
66 #endif // _OUTOBJECT_H_
Contains all the attributes and relations that compose an OutObject.
Definition: out-object.h:17
void initOutObject(OutObject *oo)
Init the outobject.
Definition: out-object.c:10
Vector(OutAttribute) attributes
Array of the attributes of the out object. Each attribute must be at the same index as its definition...
char * name
Name of the out object.
Definition: out-object.h:19
struct OutObject * generalizeBy
Pointer to the out object that generalize this out object.
Definition: out-object.h:21
void freeOutObject(OutObject *oo, int freeItself)
Free the OutObject previously initialized by initOutObject.
Definition: out-object.c:15
int haveSameRelations(OutObject *oo1, OutObject *oo2)
Test if two OutObject have the same relations.
Definition: out-object.c:27
int haveDisabledRelations(OutObject *oo)
Check if one of the relations of oo is disabled, recursively.
Definition: out-object.c:43
Represents an attribute used by the solution and the value it holds.
Definition: out-attribute.h:24
unsigned char disabled
If the OutObject has been disabled during the counter-example step.
Definition: out-object.h:23
Contains the definition of the OutAttribute.