Non so se possa funzionare (non ho mai indagato a fondo) però potebbe essere qualcosa del genere:
In questo modo puoi concatenare gli operatori.codice:// operatore globale TypeManipulator* operator<<( TypeManipulator* pManipolator, CGeometricVector& vect) { pManipolator->manipulateVector(vect); return pManipolator; }
Eventualmente puoi anche fare un secondo overload per i reference.
Alla più diperata incaspuli il TypeManipulator in un apposito adapter per forzare l'invocazione dell'operatore.codice:// operatore globale TypeManipulator& operator<<( TypeManipulator& pManipolator, CGeometricVector& vect) { pManipolator.manipulateVector(vect); return pManipolator; }