Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r53907 - sandbox/itl/boost/itl
From: afojgo_at_[hidden]
Date: 2009-06-14 14:32:56


Author: jofaber
Date: 2009-06-14 14:32:56 EDT (Sun, 14 Jun 2009)
New Revision: 53907
URL: http://svn.boost.org/trac/boost/changeset/53907

Log:
Refactoring efficiency: Improved efficiency of split_interval_map::add, some adjustments for gcc. Stable {msvc-9.0, gcc-3.4.4}
Text files modified:
   sandbox/itl/boost/itl/split_interval_map.hpp | 14 ++++++++------
   1 files changed, 8 insertions(+), 6 deletions(-)

Modified: sandbox/itl/boost/itl/split_interval_map.hpp
==============================================================================
--- sandbox/itl/boost/itl/split_interval_map.hpp (original)
+++ sandbox/itl/boost/itl/split_interval_map.hpp 2009-06-14 14:32:56 EDT (Sun, 14 Jun 2009)
@@ -43,6 +43,8 @@
     typedef interval_base_map <split_interval_map<DomainT,CodomainT,Traits,Compare,Combine,Section,Interval,Alloc>,
                                DomainT,CodomainT,Traits,Compare,Combine,Section,Interval,Alloc> base_type;
 
+ typedef DomainT domain_type;
+ typedef CodomainT codomain_type;
     typedef Interval<DomainT,Compare> interval_type;
     typedef typename base_type::iterator iterator;
     typedef typename base_type::value_type value_type;
@@ -211,7 +213,7 @@
     if(Traits::absorbs_neutrons && value.CONT_VALUE == Combiner::neutron())
         return;
 
- map_insert<Combiner>(value.KEY_VALUE, value.CONT_VALUE);
+ this->template map_insert<Combiner>(value.KEY_VALUE, value.CONT_VALUE);
 }
 
 
@@ -232,7 +234,7 @@
     if(Traits::absorbs_neutrons && co_val==Combiner::neutron())
         return;
 
- std::pair<iterator,bool> insertion = map_insert<Combiner>(inter_val, co_val);
+ std::pair<iterator,bool> insertion = this->template map_insert<Combiner>(inter_val, co_val);
 
     if(!insertion.WAS_SUCCESSFUL)
     {
@@ -318,7 +320,7 @@
                 if(!left_gap.empty())
                 {
                         pred_it = it; --pred_it;
- map_insert<Combiner>(pred_it, left_gap, co_val);
+ this->template map_insert<Combiner>(pred_it, left_gap, co_val);
                 }
 
         if(Traits::absorbs_neutrons && it->CONT_VALUE == Combiner::neutron())
@@ -348,7 +350,7 @@
         if(!end_gap.empty())
         {
         fill_gap<Combiner>(value_type(end_gap, co_val));
- combine<Combiner>(it, co_val);
+ this->template combine<Combiner>(it, co_val);
         }
         else
         {
@@ -360,10 +362,10 @@
                         const_cast<interval_type&>(it->KEY_VALUE) = right_resid;
                         iterator prior_ = it; --prior_;
                         iterator inserted_ = fill(prior_, common, it->CONT_VALUE);
- combine<Combiner>(inserted_, co_val);
+ this->template combine<Combiner>(inserted_, co_val);
                 }
                 else
- combine<Combiner>(it, co_val);
+ this->template combine<Combiner>(it, co_val);
         }
 }
 


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk