00001 #ifndef ATTRIBUTETRACKERH 00002 #define ATTRIBUTETRACKERH 00003 00004 #include "ExampleSpec.h" 00005 #include "../util/bitfield.h" 00006 00007 00029 typedef struct _AttributeTracker_ { 00030 BitField bits; 00031 int numAttributes; 00032 int numActiveAttributes; 00033 } AttributeTracker, *AttributeTrackerPtr; 00034 00035 00042 AttributeTrackerPtr AttributeTrackerNew(int numAttributes); 00043 00046 void AttributeTrackerFree(AttributeTrackerPtr at); 00047 00055 AttributeTrackerPtr AttributeTrackerInitial(ExampleSpecPtr es); 00056 00060 AttributeTrackerPtr AttributeTrackerClone(AttributeTrackerPtr at); 00061 00064 void AttributeTrackerMarkActive(AttributeTrackerPtr at, int attNum); 00065 00068 void AttributeTrackerMarkInactive(AttributeTrackerPtr at, int attNum); 00069 00072 int AttributeTrackerIsActive(AttributeTrackerPtr at, int attNum); 00073 00080 int AttributeTrackerAreAllInactive(AttributeTrackerPtr at); 00081 00087 int AttributeTrackerNumActive(AttributeTrackerPtr at); 00088 00089 #endif /* ATTRIBUTETRACKERH */
hosted by