Hi Gerrit,

OSGPointerMField.h has this

#ifndef OSG_CLEAN_FCFIELDS
[...]

     iterator  find_nc (const_value value);
#endif

[...]

#ifndef OSG_CLEAN_FCFIELDS
     iterator       find(const_value    value);
#endif
     const_iterator find(const_value    value) const;

and AFAIKS OSG_CLEAN_FCFIELDS is defined normally. Unfortunately a find 
that only can return const_iterator makes it impossible [1] to feed the 
find result as input to other operations, like erase, insert, etc that 
expect a non-const itertator.
So, which one should be moved out of the #ifdef find or find_nc ?  Or is 
there a different idea behind that define and its uses ?

Oh, wait a minute. I just see you disabled writing to the fields through 
the iterator by making operator* return the pointer by value ?  Does the 
compiler at least warn for  *iter = myNewPtr; assignments ?

        Thanks,
                Carsten

[1] ok, it *is* possible, by obtaining a non-const begin() and then 
advance it by std::distance(begin(), iter), but ... ;)

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Opensg-core mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-core

Reply via email to