std :: remove_if mit einer anderen Klassenmethode

Ich möchte benutzenstd::remove_if mit einem Prädikat, das eine Mitgliedsfunktion eines differenct calss ist.

Das ist

class B;

class A {
    bool invalidB( const B& b ) const; // use members of class A to verify that B is invalid
    void someMethod() ;
};

Jetzt implementierenA::someMethod, Ich habe

void A::someMethod() {
    std::vector< B > vectorB; 
    // filling it with elements

    // I want to remove_if from vectorB based on predicate A::invalidB
    std::remove_if( vectorB.begin(), vectorB.end(), invalidB )
}

Gibt es eine Möglichkeit, dies zu tun?

Ich habe mich bereits mit der Lösung von befasstIdiomatisches C ++ für remove_if, aber es handelt sich um einen etwas anderen Fall, in dem das unäre Prädikat vonremove_if ist ein Mitglied vonBund nichtA.

Außerdem,
Ich habe keinen Zugriff auf BOOST oder C ++ 11

Vielen Dank!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage