COIN-OR::LEMON - Graph Library

Changeset 362:6c2e8a1f380a in lemon-0.x for src/work/klao/iter_map.h


Ignore:
Timestamp:
04/21/04 18:09:42 (20 years ago)
Author:
Mihaly Barasz
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@490
Message:

IterableMap?: no range checking, no warning :)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/work/klao/iter_map.h

    r361 r362  
    5656          half_swap(a, bounds[m]++);
    5757        }
     58        // FIXME: range check ide?
    5859        while(m < n) {
    5960          half_swap(a, --bounds[m]);
     
    8081
    8182    void set(const KeyType& k, Val n) {
    82       // FIXME: n < N ???
     83      // FIXME: range check?
    8384      size_t a = base[k];
    84       if(a < bounds[N-1] && n < N) {
     85      if(a < bounds[N-1]) {
    8586        base.set(k, move(a, find(a), n));
     87      }
     88      else {
     89        insert(k, n);
    8690      }
    8791    }
    8892
    8993    void insert(const KeyType& k, Val n) {
    90       if(n < N) {
    91         data.push_back(k);
    92         base.set(k, move(bounds[N-1]++, N-1, n));
    93       }
     94      data.push_back(k);
     95      base.set(k, move(bounds[N-1]++, N-1, n));
    9496    }
    9597
    9698    iterator begin(Val n) const {
    97       if(n < N)
    98         return data.begin() + (n ? bounds[n-1] : 0);
    99       else
    100         return data.end();
     99      return data.begin() + (n ? bounds[n-1] : 0);
    101100    }
    102101
    103102    iterator end(Val n) const {
    104       if(n < N)
    105         return data.begin() + bounds[n];
    106       else
    107         return data.end();
     103      return data.begin() + bounds[n];
    108104    }
    109105
    110106    size_t size(Val n) const {
    111       if(n < N)
    112         return bounds[n] - (n ? bounds[n-1] : 0);
    113       else
    114         return 0;
     107      return bounds[n] - (n ? bounds[n-1] : 0);
    115108    }
    116109   
Note: See TracChangeset for help on using the changeset viewer.