COIN-OR::LEMON - Graph Library

Changeset 1979:c2992fd74dad in lemon-0.x for lemon/edge_set.h


Ignore:
Timestamp:
02/22/06 19:26:56 (18 years ago)
Author:
Balazs Dezso
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2569
Message:

Mergeing extendermerge branch
Changes:

the extender system
resize for static size graph
UGraphExtender => UndirectGraphExtender?

UGraphExtenders with changed meaning

Some UGraphExtender /SubUGraphExtenders, DirectUGraphExtender/
GridGraph? => GridUGraph
radix sort to ansi compatible

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/edge_set.h

    r1962 r1979  
    2020#define LEMON_EDGE_SET_H
    2121
    22 #include <lemon/bits/erasable_graph_extender.h>
    23 #include <lemon/bits/clearable_graph_extender.h>
    24 #include <lemon/bits/extendable_graph_extender.h>
    25 #include <lemon/bits/iterable_graph_extender.h>
    26 #include <lemon/bits/alteration_notifier.h>
    27 #include <lemon/bits/default_map.h>
    28 #include <lemon/bits/graph_extender.h>
     22
     23#include <lemon/bits/edge_set_extender.h>
    2924
    3025/// \ingroup graphs
     
    230225  /// \ref concept::ErasableGraph "ErasableGraph" concept.
    231226  template <typename _Graph>
    232   class ListEdgeSet :
    233     public ErasableEdgeSetExtender<
    234     ClearableEdgeSetExtender<
    235     ExtendableEdgeSetExtender<
    236     MappableEdgeSetExtender<
    237     IterableGraphExtender<
    238     AlterableEdgeSetExtender<
    239     GraphExtender<
    240     ListEdgeSetBase<_Graph> > > > > > > > {
    241 
    242   public:
    243 
    244     typedef ErasableEdgeSetExtender<
    245       ClearableEdgeSetExtender<
    246       ExtendableEdgeSetExtender<
    247       MappableEdgeSetExtender<
    248       IterableGraphExtender<
    249       AlterableEdgeSetExtender<
    250       GraphExtender<
    251       ListEdgeSetBase<_Graph> > > > > > > > Parent;
     227  class ListEdgeSet : public EdgeSetExtender<ListEdgeSetBase<_Graph> > {
     228
     229  public:
     230
     231    typedef EdgeSetExtender<ListEdgeSetBase<_Graph> > Parent;
    252232   
    253233    typedef typename Parent::Node Node;
     
    337317  /// \ref concept::ErasableUGraph "ErasableUGraph" concept.
    338318  template <typename _Graph>
    339   class ListUEdgeSet :
    340     public ErasableUEdgeSetExtender<
    341     ClearableUEdgeSetExtender<
    342     ExtendableUEdgeSetExtender<
    343     MappableUEdgeSetExtender<
    344     IterableUGraphExtender<
    345     AlterableUEdgeSetExtender<
    346     UGraphExtender<
    347     ListEdgeSetBase<_Graph> > > > > > > > {
    348 
    349   public:
    350 
    351     typedef ErasableUEdgeSetExtender<
    352       ClearableUEdgeSetExtender<
    353       ExtendableUEdgeSetExtender<
    354       MappableUEdgeSetExtender<
    355       IterableUGraphExtender<
    356       AlterableUEdgeSetExtender<
    357       UGraphExtender<
    358       ListEdgeSetBase<_Graph> > > > > > > > Parent;
     319  class ListUEdgeSet
     320    : public UEdgeSetExtender<UGraphBaseExtender<ListEdgeSetBase<_Graph> > > {
     321
     322  public:
     323
     324    typedef UEdgeSetExtender<UGraphBaseExtender<
     325      ListEdgeSetBase<_Graph> > > Parent;
    359326   
    360327    typedef typename Parent::Node Node;
     
    568535  /// \ref concept::ExtendableGraph "ExtendableGraph" concept.
    569536  template <typename _Graph>
    570   class SmartEdgeSet :
    571     public ClearableEdgeSetExtender<
    572     ExtendableEdgeSetExtender<
    573     MappableEdgeSetExtender<
    574     IterableGraphExtender<
    575     AlterableEdgeSetExtender<
    576     GraphExtender<
    577     SmartEdgeSetBase<_Graph> > > > > > > {
    578 
    579   public:
    580 
    581     typedef ClearableEdgeSetExtender<
    582       ExtendableEdgeSetExtender<
    583       MappableEdgeSetExtender<
    584       IterableGraphExtender<
    585       AlterableEdgeSetExtender<
    586       GraphExtender<
    587       SmartEdgeSetBase<_Graph> > > > > > > Parent;
     537  class SmartEdgeSet : public EdgeSetExtender<SmartEdgeSetBase<_Graph> > {
     538
     539  public:
     540
     541    typedef EdgeSetExtender<SmartEdgeSetBase<_Graph> > Parent;
    588542   
    589543    typedef typename Parent::Node Node;
     
    672626  /// \ref concept::ExtendableUGraph "ExtendableUGraph" concept.
    673627  template <typename _Graph>
    674   class SmartUEdgeSet :
    675     public ClearableUEdgeSetExtender<
    676     ExtendableUEdgeSetExtender<
    677     MappableUEdgeSetExtender<
    678     IterableUGraphExtender<
    679     AlterableUEdgeSetExtender<
    680     UGraphExtender<
    681     SmartEdgeSetBase<_Graph> > > > > > > {
    682 
    683   public:
    684 
    685     typedef ClearableUEdgeSetExtender<
    686       ExtendableUEdgeSetExtender<
    687       MappableUEdgeSetExtender<
    688       IterableUGraphExtender<
    689       AlterableUEdgeSetExtender<
    690       UGraphExtender<
    691       SmartEdgeSetBase<_Graph> > > > > > > Parent;
     628  class SmartUEdgeSet
     629    : public UEdgeSetExtender<UGraphBaseExtender<SmartEdgeSetBase<_Graph> > > {
     630
     631  public:
     632
     633    typedef UEdgeSetExtender<UGraphBaseExtender<
     634      SmartEdgeSetBase<_Graph> > > Parent;
    692635   
    693636    typedef typename Parent::Node Node;
Note: See TracChangeset for help on using the changeset viewer.