-
Alexis SALZMAN authored
castValueBidirIterator and castValueForwardIterator are two class that take control of an iterator 'it'. Both change information type pointed by 'it' by use of static cast. So compare to 'it' only operator * is changed. The type used during casting is provided as a template parameter to those class. These classes aim to replace entitytovertexiteratorconvertor class of FM library which was used as a start for construction of this new family. Compare to this original version, iterator category coherence is more strongly achieved between 'it' and its warper. To simplify user task the function makeCastValueIterator provide a simple way to create castValueBidirIterator or castValueForwardIterator depending on 'it' iterator category type. As now cast type is a template parameter the user have more choice. The reverse operation (mVertex* to mEntity*) have been for example tested successfully in some appli. And in the same appli use of those class in replacement of entitytovertexiteratorconvertor was ok. TODO replace entitytovertexiteratorconvertor and certainely also citerobjecttovertexiteratorconvertor Add other category type and maybe do some rearrangement to minimize code duplication.
873fe764