def __call__(self, index, graph):
count = <NUM_LIT:0><EOL>for c in self.criteria:<EOL><INDENT>if c(index, graph):<EOL><INDENT>count += <NUM_LIT:1><EOL><DEDENT><DEDENT>return (count % <NUM_LIT:2>) == <NUM_LIT:1><EOL>
Evaluates all the criteria and applies a generalized XOR opartion

           Arguments:
            | ``index``  --  the index of the vertex/edge on which the criterion
                             is applied
            | ``graph``  --  the graph on which the criterion is tested

           when the XOR operation is applied to more than two criteria, True
           is only returned when an odd number of criteria return True.