COIN-OR::LEMON - Graph Library

Changeset 3:272a5677bd6d in lemon-0.x for src/include/bfs.h


Ignore:
Timestamp:
12/13/03 16:44:50 (20 years ago)
Author:
Alpar Juttner
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@15
Message:
  • Marci type iterator constructors
  • src/demo/bfsdemo.cc: demo for bfs.h
  • cosmetical changes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/include/bfs.h

    r2 r3  
    3939 
    4040 
    41 //   Nem jo! Osszeakad a masik Set-tel
     41//   Nem jo! Osszeakad a masik Put-tel
    4242//   class do_nothing_map {};
    4343//   template <typename V,typename T>
    44 //   void Set(const do_nothing_map &p,const V &v,const T &t) {}
     44//   void Put(const do_nothing_map &p,const V &v,const T &t) {}
    4545 
    4646  struct do_nothing_map {
    4747  template <typename V,typename T>
    48   static void Set(V v,T t) {}
     48  static void Put(V v,T t) {}
    4949  };
    5050 
     
    5454  public:
    5555    typedef T value_type;
    56     static void Set(const I &i, const T &t) {(*i).*M=t;}
     56    static void Put(const I &i, const T &t) {(*i).*M=t;}
    5757    static T Get(const I i) {return (*i).*M;}
    5858    T &operator[](I i) {return (*i).*M;}
     
    6161  /*
    6262     template <typename C,typename I,typename T, T C::*M>
    63      void Set(class_element_map<C,T,M> p,I i, T t)
     63     void Put(class_element_map<C,T,M> p,I i, T t)
    6464     {
    6565     i->*M=t;   
     
    6868
    6969  template <typename P,typename I,typename T>
    70   inline void Set(P &p,const I &i, const T &t)
    71   {
    72     p.Set(i,t);   
     70  inline void Put(P &p,const I &i, const T &t)
     71  {
     72    p.Put(i,t);   
    7373  };
    7474  template <typename P,typename I>
     
    126126      bfs_node_data<G> NodeType::*d;
    127127      typedef bool value_type;
    128       void Set(typename G::NodeIterator &i, const value_type &t)
     128      void Put(typename G::NodeIterator &i, const value_type &t)
    129129      {((*i).*d).visited=t;}
    130130      value_type Get(const typename G::NodeIterator &i) const
     
    137137      bfs_node_data<G> NodeType::*d;
    138138      typedef typename G::EdgeIterator value_type;
    139       void Set(typename G::NodeIterator &i, const value_type &t)
     139      void Put(typename G::NodeIterator &i, const value_type &t)
    140140      {((*i).*d).tree=t;}
    141141      value_type Get(const typename G::NodeIterator &i) const
     
    148148      bfs_node_data<G> NodeType::*d;
    149149      typedef int value_type;
    150       void Set(typename G::NodeIterator &i, const value_type &t)
     150      void Put(typename G::NodeIterator &i, const value_type &t)
    151151      {((*i).*d).dist=t;}
    152152      value_type Get(const typename G::NodeIterator &i) const
     
    159159      bfs_node_data<G> NodeType::*d;
    160160      typedef int value_type;
    161       void Set(typename G::NodeIterator &i,  const value_type &t)
     161      void Put(typename G::NodeIterator &i,  const value_type &t)
    162162      {((*i).*d).priority=t;}
    163163      value_type Get(const typename G::NodeIterator &i) const
     
    176176    bfs_static_maps(const bfs_node_data<G> NodeType::*dd)
    177177    {
    178       SetDataField(dd);
     178      PutDataField(dd);
    179179    }
    180180   
     
    211211   
    212212    for(Gr.GetFirst(n);n.isValid();++n)
    213       Set(maps.visited,n,false);
     213      Put(maps.visited,n,false);
    214214   
    215215    queue<Q_T> Q;
     
    218218    q.dist=0;
    219219    Q.push(q);
    220     Set(maps.visited,start_node,true);
    221     //      Set(maps::tree,start_node,?????);
    222     Set(maps.dist,start_node,0);
    223     Set(maps.priority,start_node,pr++);
     220    Put(maps.visited,start_node,true);
     221    //      Put(maps::tree,start_node,?????);
     222    Put(maps.dist,start_node,0);
     223    Put(maps.priority,start_node,pr++);
    224224   
    225225    do {
     
    231231          q.dist=d;
    232232          Q.push(q);
    233           Set(maps.visited,m,true);
    234           Set(maps.tree,m,e);
    235           Set(maps.dist,m,d);
    236           Set(maps.priority,m,pr++);
     233          Put(maps.visited,m,true);
     234          Put(maps.tree,m,e);
     235          Put(maps.dist,m,d);
     236          Put(maps.priority,m,pr++);
    237237        }
    238238    } while(!Q.empty());
Note: See TracChangeset for help on using the changeset viewer.