Re: [Boost-bugs] [Boost C++ Libraries] #11801: Recursive modify in multi_index sometimes does not update index correctly

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11801: Recursive modify in multi_index sometimes does not update index correctly
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-11-25 16:11:02


#11801: Recursive modify in multi_index sometimes does not update index correctly
-------------------------------------+-------------------------------------
  Reporter: Valentyn Shtronda | Owner: joaquin
  <valiko.ua@…> | Status: closed
      Type: Bugs | Component: multi_index
 Milestone: To Be Determined | Severity: Problem
   Version: Boost 1.59.0 | Keywords: multi_index
Resolution: invalid | multi_index_container recursive
                                     | modify
-------------------------------------+-------------------------------------

Comment (by Valentyn Shtronda <valiko.ua@…>):

 ''There is no notion of "key field" in the library. The only concept
 defined is KeyExtractor''

 Yes, you can use "KeyExtractor" term instead of "key field", and re-
 formulate accordingly. It was only a draft of my vision about how to make
 the doc more obvious (and thus more helpful).

 ''why should I need to restore them?
 Moreover, you can't really assume that any part of the container interface
 is usable once you modify the element.''

 Then instead of saying "for example", you can say "any part of the
 container interface".
 So, new draft can sound like this:

 ''Modification of any field used by `KeyExtractor` temporarily breaks
 container integrity, until `modify()` returns. If you need to use any
 interface method before `modify()` returns, wrap modification of such
 fields in its own call to `modify()`.''

 Please note that I don't insist on modification the documentation in any
 way. You already helped me a lot and for me personally it's all clear now.
 Thanks again!

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11801#comment:11>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:19 UTC