def get_evaluate_SLA(SLA_terms, topology, evaluate_individual):
    """Generate a function to evaluate if the flow reliability and latency requirements are met

    Args:
        SLA_terms {SLA} -- an SLA object containing latency and bandwidth requirements
        topology {Topology} -- the reference topology object for the flow
        evaluate_individual {function}: a cost function, which returns the metric for a given individual
        individual {DEAP individual (list)} -- the individual
    Returns:
        evaluate_SLA {Function}: a function returning True if the requirements are met, False otherwise
    """
    def evaluate_SLA(individual):
        evaluation = evaluate_individual(individual)
        if evaluation[3] > SLA_terms.latency or evaluation[1] > 1:
            return False
        return True
    return evaluate_SLA