Added predicates for cpp implementation