hi -

it has long been that the methods that dereference a const
datavector&lt;t&gt; (operator[], etc), return a `const t*',
even though the value_type is `t*'.

however, datavector&lt;t&gt;::const_iterator has been inconsistent with this,
in that dereferencing the iterator returns a `t*'.

we are trying to change this feature of datavector::const_iterator, so that
dereferencing it will also return a `const t*', consistent with
datavector.  we hope this will help catch instances where
data objects are unintentionally modified.

these changes are in datamodel-00-23-21.
unfortunately, this requires some changes in client packages.

here are the changes in muoncollectionbuilders that were required to be
compatible with these changes.


+verbatim+
index: src/muoncrosscollectionlinker.cxx
===================================================================
--- src/muoncrosscollectionlinker.cxx	(revision 447210)
+++ src/muoncrosscollectionlinker.cxx	(working copy)
@@ -79,7 +79,7 @@
     // 2 = found by muid sa/muid combined/mugirl
     // 3 = found by both 1 and 2 */
 
-    analysis::muoncontainer::const_iterator muon_it = muidmuoncontainer-&gt;begin();
+    analysis::muoncontainer::iterator muon_it = muidmuoncontainer-&gt;begin();
     for ( ; muon_it != muidmuoncontainer-&gt;end(); ++muon_it ) {
 
       const rec::trackparticle * track = (*muon_it)-&gt;indettrackparticle();
-verbatim-
