COIN-OR::LEMON - Graph Library

Changes in / [216:6d7bfcf5b48e:217:b67149f0e675] in lemon-1.0


Ignore:
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • demo/graph_to_eps_demo.cc

    r209 r211  
    2121/// \brief Demo of the graph drawing function \ref graphToEps()
    2222///
    23 /// This demo program shows examples how to  use the function \ref
    24 /// graphToEps(). It takes no input but simply creates  six
     23/// This demo program shows examples how to use the function \ref
     24/// graphToEps(). It takes no input but simply creates seven
    2525/// <tt>.eps</tt> files demonstrating the capability of \ref
    2626/// graphToEps(), and showing how to draw directed graphs,
     
    8282  IdMap<ListDigraph,Node> id(g);
    8383
    84   // Create five .eps files showing the digraph with different options
     84  // Create .eps files showing the digraph with different options
    8585  cout << "Create 'graph_to_eps_demo_out_1_pure.eps'" << endl;
    8686  graphToEps(g,"graph_to_eps_demo_out_1_pure.eps").
     
    119119    run();
    120120
     121  // Add more arcs to the digraph
    121122  a=g.addArc(n1,n4); acolors[a]=2; widths[a]=1;
    122123  a=g.addArc(n4,n1); acolors[a]=1; widths[a]=2;
     
    130131  a=g.addArc(n1,n2); acolors[a]=7; widths[a]=1;
    131132
    132   cout << "Create 'graph_to_eps_demo_out_par.eps'" << endl;
    133   graphToEps(g,"graph_to_eps_demo_out_par.eps").
    134     //scale(10).
     133  cout << "Create 'graph_to_eps_demo_out_4_par.eps'" << endl;
     134  graphToEps(g,"graph_to_eps_demo_out_4_par.eps").
    135135    title("Sample .eps figure (parallel arcs)").
    136136    copyright("(C) 2003-2008 LEMON Project").
     
    146146    run();
    147147
    148   cout << "Create 'graph_to_eps_demo_out_4_par_arr.eps'" << endl;
    149   graphToEps(g,"graph_to_eps_demo_out_4_par_arr.eps").
     148  cout << "Create 'graph_to_eps_demo_out_5_par_arr.eps'" << endl;
     149  graphToEps(g,"graph_to_eps_demo_out_5_par_arr.eps").
    150150    title("Sample .eps figure (parallel arcs and arrowheads)").
    151151    copyright("(C) 2003-2008 LEMON Project").
     
    162162    run();
    163163
    164   cout << "Create 'graph_to_eps_demo_out_5_par_arr_a4.eps'" << endl;
    165   graphToEps(g,"graph_to_eps_demo_out_5_par_arr_a4.eps").
     164  cout << "Create 'graph_to_eps_demo_out_6_par_arr_a4.eps'" << endl;
     165  graphToEps(g,"graph_to_eps_demo_out_6_par_arr_a4.eps").
    166166    title("Sample .eps figure (fits to A4)").
    167167    copyright("(C) 2003-2008 LEMON Project").
     
    191191  }
    192192
    193   cout << "Create 'graph_to_eps_demo_out_6_colors.eps'" << endl;
    194   graphToEps(h,"graph_to_eps_demo_out_6_colors.eps").
     193  cout << "Create 'graph_to_eps_demo_out_7_colors.eps'" << endl;
     194  graphToEps(h,"graph_to_eps_demo_out_7_colors.eps").
    195195    scale(60).
    196196    title("Sample .eps figure (Palette demo)").
  • doc/Doxyfile.in

    r153 r212  
    103103EXAMPLE_RECURSIVE      = NO
    104104IMAGE_PATH             = @abs_top_srcdir@/doc/images \
    105                         @abs_top_builddir@/doc/gen-images
     105                        @abs_top_builddir@/doc/gen-images
    106106INPUT_FILTER           =
    107107FILTER_PATTERNS        =
  • doc/lgf.dox

    r209 r212  
    5858\code
    5959 @nodes
    60  label   coordinates size    title
    61  1       (10,20)     10      "First node"
    62  2       (80,80)     8       "Second node"
    63  3       (40,10)     10      "Third node"
     60 label  coordinates size    title
     61 1      (10,20)      10      "First node"
     62 2      (80,80)      8       "Second node"
     63 3      (40,10)      10      "Third node"
    6464\endcode
    6565
     
    7373\code
    7474 @arcs
    75                capacity
     75         capacity
    7676 1   2   16
    7777 1   3   12
  • lemon/arg_parser.cc

    r210 r214  
    240240  }
    241241
    242   void ArgParser::show(std::ostream &os,Opts::iterator i)
     242  void ArgParser::show(std::ostream &os,Opts::const_iterator i) const
    243243  {
    244244    os << "-" << i->first;
    245245    if(i->second.has_syn)
    246       for(Opts::iterator j=_opts.begin();j!=_opts.end();++j)
     246      for(Opts::const_iterator j=_opts.begin();j!=_opts.end();++j)
    247247        if(j->second.syn&&j->second.help==i->first)
    248248          os << "|-" << j->first;
     
    262262  }
    263263
    264   void ArgParser::show(std::ostream &os,Groups::iterator i)
    265   {
    266     GroupData::Opts::iterator o=i->second.opts.begin();
     264  void ArgParser::show(std::ostream &os,Groups::const_iterator i) const
     265  {
     266    GroupData::Opts::const_iterator o=i->second.opts.begin();
    267267    while(o!=i->second.opts.end()) {
    268268      show(os,_opts.find(*o));
     
    272272  }
    273273
    274   void ArgParser::showHelp(Opts::iterator i)
     274  void ArgParser::showHelp(Opts::const_iterator i) const
    275275  {
    276276    if(i->second.help.size()==0||i->second.syn) return;
     
    280280    std::cerr << "     " << i->second.help << std::endl;
    281281  }
    282   void ArgParser::showHelp(std::vector<ArgParser::OtherArg>::iterator i)
     282  void ArgParser::showHelp(std::vector<ArgParser::OtherArg>::const_iterator i)
     283    const
    283284  {
    284285    if(i->help.size()==0) return;
     
    287288  }
    288289
    289   void ArgParser::shortHelp()
     290  void ArgParser::shortHelp() const
    290291  {
    291292    const unsigned int LINE_LEN=77;
     
    293294    std::cerr << "Usage:\n  " << _command_name;
    294295    int pos=_command_name.size()+2;
    295     for(Groups::iterator g=_groups.begin();g!=_groups.end();++g) {
     296    for(Groups::const_iterator g=_groups.begin();g!=_groups.end();++g) {
    296297      std::ostringstream cstr;
    297298      cstr << ' ';
     
    306307      pos+=cstr.str().size();
    307308    }
    308     for(Opts::iterator i=_opts.begin();i!=_opts.end();++i)
     309    for(Opts::const_iterator i=_opts.begin();i!=_opts.end();++i)
    309310      if(!i->second.ingroup&&!i->second.syn) {
    310311        std::ostringstream cstr;
     
    320321        pos+=cstr.str().size();
    321322      }
    322     for(std::vector<OtherArg>::iterator i=_others_help.begin();
     323    for(std::vector<OtherArg>::const_iterator i=_others_help.begin();
    323324        i!=_others_help.end();++i)
    324325      {
     
    336337  }
    337338
    338   void ArgParser::showHelp()
     339  void ArgParser::showHelp() const
    339340  {
    340341    shortHelp();
    341342    std::cerr << "Where:\n";
    342     for(std::vector<OtherArg>::iterator i=_others_help.begin();
     343    for(std::vector<OtherArg>::const_iterator i=_others_help.begin();
    343344        i!=_others_help.end();++i) showHelp(i);
    344     for(Opts::iterator i=_opts.begin();i!=_opts.end();++i) showHelp(i);
     345    for(Opts::const_iterator i=_opts.begin();i!=_opts.end();++i) showHelp(i);
    345346    exit(1);
    346347  }
    347348
    348349
    349   void ArgParser::unknownOpt(std::string arg)
     350  void ArgParser::unknownOpt(std::string arg) const
    350351  {
    351352    std::cerr << "\nUnknown option: " << arg << "\n";
     
    355356  }
    356357
    357   void ArgParser::requiresValue(std::string arg, OptType t)
     358  void ArgParser::requiresValue(std::string arg, OptType t) const
    358359  {
    359360    std::cerr << "Argument '" << arg << "' requires a";
     
    376377
    377378
    378   void ArgParser::checkMandatories()
     379  void ArgParser::checkMandatories() const
    379380  {
    380381    bool ok=true;
    381     for(Opts::iterator i=_opts.begin();i!=_opts.end();++i)
     382    for(Opts::const_iterator i=_opts.begin();i!=_opts.end();++i)
    382383      if(i->second.mandatory&&!i->second.set)
    383384        {
     
    388389          showHelp(i);
    389390        }
    390     for(Groups::iterator i=_groups.begin();i!=_groups.end();++i)
     391    for(Groups::const_iterator i=_groups.begin();i!=_groups.end();++i)
    391392      if(i->second.mandatory||i->second.only_one)
    392393        {
    393394          int set=0;
    394           for(GroupData::Opts::iterator o=i->second.opts.begin();
     395          for(GroupData::Opts::const_iterator o=i->second.opts.begin();
    395396              o!=i->second.opts.end();++o)
    396397            if(_opts.find(*o)->second.set) ++set;
     
    399400              ": At least one of the following arguments is mandatory.\n";
    400401            ok=false;
    401             for(GroupData::Opts::iterator o=i->second.opts.begin();
     402            for(GroupData::Opts::const_iterator o=i->second.opts.begin();
    402403                o!=i->second.opts.end();++o)
    403404              showHelp(_opts.find(*o));
     
    407408              ": At most one of the following arguments can be given.\n";
    408409            ok=false;
    409             for(GroupData::Opts::iterator o=i->second.opts.begin();
     410            for(GroupData::Opts::const_iterator o=i->second.opts.begin();
    410411                o!=i->second.opts.end();++o)
    411412              showHelp(_opts.find(*o));
  • lemon/arg_parser.h

    r209 r214  
    272272    ///@}
    273273
    274     void show(std::ostream &os,Opts::iterator i);
    275     void show(std::ostream &os,Groups::iterator i);
    276     void showHelp(Opts::iterator i);
    277     void showHelp(std::vector<OtherArg>::iterator i);
    278     void shortHelp();
    279     void showHelp();
    280 
    281     void unknownOpt(std::string arg);
    282 
    283     void requiresValue(std::string arg, OptType t);
    284     void checkMandatories();
     274  private:
     275    void show(std::ostream &os,Opts::const_iterator i) const;
     276    void show(std::ostream &os,Groups::const_iterator i) const;
     277    void showHelp(Opts::const_iterator i) const;
     278    void showHelp(std::vector<OtherArg>::const_iterator i) const;
     279
     280    void unknownOpt(std::string arg) const;
     281
     282    void requiresValue(std::string arg, OptType t) const;
     283    void checkMandatories() const;
     284
     285    void shortHelp() const;
     286    void showHelp() const;
     287  public:
    285288
    286289    ///Start the parsing process
     
    294297
    295298    ///Give back the command name (the 0th argument)
    296     const std::string &commandName() { return _command_name; }
     299    const std::string &commandName() const { return _command_name; }
    297300
    298301    ///Check if an opion has been given to the command.
    299     bool given(std::string op)
    300     {
    301       Opts::iterator i = _opts.find(op);
     302    bool given(std::string op) const
     303    {
     304      Opts::const_iterator i = _opts.find(op);
    302305      return i!=_opts.end()?i->second.set:false;
    303306    }
     
    312315    class RefType
    313316    {
    314       ArgParser &_parser;
     317      const ArgParser &_parser;
    315318      std::string _name;
    316319    public:
    317320      ///\e
    318       RefType(ArgParser &p,const std::string &n) :_parser(p),_name(n) {}
     321      RefType(const ArgParser &p,const std::string &n) :_parser(p),_name(n) {}
    319322      ///\e
    320323      operator bool()
    321324      {
    322         Opts::iterator i = _parser._opts.find(_name);
     325        Opts::const_iterator i = _parser._opts.find(_name);
    323326        LEMON_ASSERT(i!=_parser._opts.end(),
    324327                     std::string()+"Unkown option: '"+_name+"'");
     
    330333      operator std::string()
    331334      {
    332         Opts::iterator i = _parser._opts.find(_name);
     335        Opts::const_iterator i = _parser._opts.find(_name);
    333336        LEMON_ASSERT(i!=_parser._opts.end(),
    334337                     std::string()+"Unkown option: '"+_name+"'");
     
    340343      operator double()
    341344      {
    342         Opts::iterator i = _parser._opts.find(_name);
     345        Opts::const_iterator i = _parser._opts.find(_name);
    343346        LEMON_ASSERT(i!=_parser._opts.end(),
    344347                     std::string()+"Unkown option: '"+_name+"'");
     
    352355      operator int()
    353356      {
    354         Opts::iterator i = _parser._opts.find(_name);
     357        Opts::const_iterator i = _parser._opts.find(_name);
    355358        LEMON_ASSERT(i!=_parser._opts.end(),
    356359                     std::string()+"Unkown option: '"+_name+"'");
     
    366369    ///Give back the value of an option.
    367370    ///\sa RefType
    368     RefType operator[](const std::string &n)
     371    RefType operator[](const std::string &n) const
    369372    {
    370373      return RefType(*this, n);
     
    375378    ///Give back a reference to a vector consisting of the program arguments
    376379    ///not starting with a '-' character.
    377     std::vector<std::string> &files() { return _file_args; }
     380    const std::vector<std::string> &files() const { return _file_args; }
    378381
    379382  };
  • lemon/assert.h

    r210 r212  
    6767#undef LEMON_DEBUG
    6868
    69 #if (defined(LEMON_ASSERT_LOG) ? 1 : 0) +                \
    70   (defined(LEMON_ASSERT_ABORT) ? 1 : 0) +                \
     69#if (defined(LEMON_ASSERT_LOG) ? 1 : 0) +               \
     70  (defined(LEMON_ASSERT_ABORT) ? 1 : 0) +               \
    7171  (defined(LEMON_ASSERT_CUSTOM) ? 1 : 0) > 1
    7272#error "LEMON assertion system is not set properly"
    7373#endif
    7474
    75 #if ((defined(LEMON_ASSERT_LOG) ? 1 : 0) +                \
    76      (defined(LEMON_ASSERT_ABORT) ? 1 : 0) +                \
    77      (defined(LEMON_ASSERT_CUSTOM) ? 1 : 0) == 1 ||        \
    78      defined(LEMON_ENABLE_ASSERTS)) &&                        \
    79   (defined(LEMON_DISABLE_ASSERTS) ||                        \
     75#if ((defined(LEMON_ASSERT_LOG) ? 1 : 0) +              \
     76     (defined(LEMON_ASSERT_ABORT) ? 1 : 0) +            \
     77     (defined(LEMON_ASSERT_CUSTOM) ? 1 : 0) == 1 ||     \
     78     defined(LEMON_ENABLE_ASSERTS)) &&                  \
     79  (defined(LEMON_DISABLE_ASSERTS) ||                    \
    8080   defined(NDEBUG))
    8181#error "LEMON assertion system is not set properly"
     
    169169/// behaviour is changed appropiately to the new settings.
    170170#  define LEMON_ASSERT(exp, msg)                                        \
    171   (static_cast<void> (!!(exp) ? 0 : (                                        \
    172     LEMON_ASSERT_HANDLER(__FILE__, __LINE__,                                \
    173                          LEMON_FUNCTION_NAME,                                \
     171  (static_cast<void> (!!(exp) ? 0 : (                                   \
     172    LEMON_ASSERT_HANDLER(__FILE__, __LINE__,                            \
     173                         LEMON_FUNCTION_NAME,                           \
    174174                         ::lemon::_assert_bits::cstringify(msg), #exp), 0)))
    175175
     
    185185///
    186186/// \see LEMON_ASSERT
    187 #  define LEMON_FIXME(msg)                                                \
     187#  define LEMON_FIXME(msg)                                              \
    188188  (LEMON_ASSERT_HANDLER(__FILE__, __LINE__, LEMON_FUNCTION_NAME,        \
    189                         ::lemon::_assert_bits::cstringify(msg),          \
     189                        ::lemon::_assert_bits::cstringify(msg),         \
    190190                        static_cast<const char*>(0)))
    191191
     
    213213///
    214214/// \see LEMON_ASSERT
    215 #  define LEMON_DEBUG(exp, msg)                                                \
    216   (static_cast<void> (!!(exp) ? 0 : (                                        \
     215#  define LEMON_DEBUG(exp, msg)                                         \
     216  (static_cast<void> (!!(exp) ? 0 : (                                   \
    217217    LEMON_ASSERT_HANDLER(__FILE__, __LINE__,                            \
    218                          LEMON_FUNCTION_NAME,                                \
     218                         LEMON_FUNCTION_NAME,                           \
    219219                         ::lemon::_assert_bits::cstringify(msg), #exp), 0)))
    220220
     
    226226#    define LEMON_DEBUG(exp, msg) (static_cast<void>(0))
    227227#  else
    228 #    define LEMON_ASSERT(exp, msg)                                        \
    229        (static_cast<void> (!!(exp) ? 0 : (                                \
     228#    define LEMON_ASSERT(exp, msg)                                      \
     229       (static_cast<void> (!!(exp) ? 0 : (                              \
    230230        LEMON_ASSERT_HANDLER(__FILE__, __LINE__,                        \
    231                              LEMON_FUNCTION_NAME,                        \
    232                              ::lemon::_assert_bits::cstringify(msg),        \
     231                             LEMON_FUNCTION_NAME,                       \
     232                             ::lemon::_assert_bits::cstringify(msg),    \
    233233                             #exp), 0)))
    234 #    define LEMON_FIXME(msg)                                                \
    235        (LEMON_ASSERT_HANDLER(__FILE__, __LINE__, LEMON_FUNCTION_NAME,        \
    236                              ::lemon::_assert_bits::cstringify(msg),        \
     234#    define LEMON_FIXME(msg)                                            \
     235       (LEMON_ASSERT_HANDLER(__FILE__, __LINE__, LEMON_FUNCTION_NAME,   \
     236                             ::lemon::_assert_bits::cstringify(msg),    \
    237237                             static_cast<const char*>(0)))
    238238
    239239#    if LEMON_ENABLE_DEBUG
    240240#      define LEMON_DEBUG(exp, msg)
    241          (static_cast<void> (!!(exp) ? 0 : (         \
    242            LEMON_ASSERT_HANDLER(__FILE__, __LINE__,  \
    243                                 LEMON_FUNCTION_NAME, \
    244                                 ::lemon::_assert_bits::cstringify(msg),     \
     241         (static_cast<void> (!!(exp) ? 0 : (                            \
     242           LEMON_ASSERT_HANDLER(__FILE__, __LINE__,                     \
     243                                LEMON_FUNCTION_NAME,                    \
     244                                ::lemon::_assert_bits::cstringify(msg), \
    245245                                #exp), 0)))
    246246#    else
     
    250250
    251251#endif
    252 
    253 #ifdef DOXYGEN
    254 
    255 
    256 #else
    257 
    258 
    259 #endif
    260 
    261 
  • lemon/concepts/path.h

    r209 r212  
    101101        /// Comparison operator
    102102        bool operator!=(const ArcIt&) const {return true;}
    103          /// Comparison operator
    104          bool operator<(const ArcIt&) const {return false;}
     103        /// Comparison operator
     104        bool operator<(const ArcIt&) const {return false;}
    105105
    106106      };
     
    256256        /// Comparison operator
    257257        bool operator!=(const ArcIt&) const {return true;}
    258          /// Comparison operator
    259          bool operator<(const ArcIt&) const {return false;}
     258        /// Comparison operator
     259        bool operator<(const ArcIt&) const {return false;}
    260260
    261261      };
     
    284284        /// Comparison operator
    285285        bool operator!=(const RevArcIt&) const {return true;}
    286          /// Comparison operator
    287          bool operator<(const RevArcIt&) const {return false;}
     286        /// Comparison operator
     287        bool operator<(const RevArcIt&) const {return false;}
    288288
    289289      };
  • lemon/error.h

    r209 r212  
    7171      try {
    7272        if (!copy.valid()) return;
    73          *ptr = copy.get();
     73        *ptr = copy.get();
    7474      } catch (...) {}
    7575    }
  • lemon/graph_to_eps.h

    r210 r212  
    909909          //\todo better 'epsilon' would be nice here.
    910910          dim2::Point<double> d(dvec/std::max(l,EPSILON));
    911            dim2::Point<double> m;
     911          dim2::Point<double> m;
    912912//           m=dim2::Point<double>(mycoords[g.target(*i)]+
    913913//                                 mycoords[g.source(*i)])/2.0;
     
    917917//                (_nodeSizes[g.source(*i)]+_nodeSizes[g.target(*i)]));
    918918
    919            m=dim2::Point<double>(mycoords[g.source(*i)])+
     919          m=dim2::Point<double>(mycoords[g.source(*i)])+
    920920            d*(l+_nodeSizes[g.source(*i)]-_nodeSizes[g.target(*i)])/2.0;
    921921
  • lemon/graph_utils.h

    r209 r212  
    5353  ///on a template parameter, then use \c TEMPLATE_DIGRAPH_TYPEDEFS()
    5454  ///macro.
    55 #define DIGRAPH_TYPEDEFS(Digraph)                                        \
    56   typedef Digraph::Node Node;                                                \
    57   typedef Digraph::NodeIt NodeIt;                                        \
    58   typedef Digraph::Arc Arc;                                                \
    59   typedef Digraph::ArcIt ArcIt;                                                \
    60   typedef Digraph::InArcIt InArcIt;                                        \
    61   typedef Digraph::OutArcIt OutArcIt;                                        \
    62   typedef Digraph::NodeMap<bool> BoolNodeMap;                                \
    63   typedef Digraph::NodeMap<int> IntNodeMap;                                \
    64   typedef Digraph::NodeMap<double> DoubleNodeMap;                        \
    65   typedef Digraph::ArcMap<bool> BoolArcMap;                                \
    66   typedef Digraph::ArcMap<int> IntArcMap;                                \
     55#define DIGRAPH_TYPEDEFS(Digraph)                                       \
     56  typedef Digraph::Node Node;                                           \
     57  typedef Digraph::NodeIt NodeIt;                                       \
     58  typedef Digraph::Arc Arc;                                             \
     59  typedef Digraph::ArcIt ArcIt;                                         \
     60  typedef Digraph::InArcIt InArcIt;                                     \
     61  typedef Digraph::OutArcIt OutArcIt;                                   \
     62  typedef Digraph::NodeMap<bool> BoolNodeMap;                           \
     63  typedef Digraph::NodeMap<int> IntNodeMap;                             \
     64  typedef Digraph::NodeMap<double> DoubleNodeMap;                       \
     65  typedef Digraph::ArcMap<bool> BoolArcMap;                             \
     66  typedef Digraph::ArcMap<int> IntArcMap;                               \
    6767  typedef Digraph::ArcMap<double> DoubleArcMap
    6868
     
    7373  ///\note Use this macro, if the graph type is a dependent type,
    7474  ///ie. the graph type depend on a template parameter.
    75 #define TEMPLATE_DIGRAPH_TYPEDEFS(Digraph)                                \
    76   typedef typename Digraph::Node Node;                                        \
    77   typedef typename Digraph::NodeIt NodeIt;                                \
    78   typedef typename Digraph::Arc Arc;                                        \
     75#define TEMPLATE_DIGRAPH_TYPEDEFS(Digraph)                              \
     76  typedef typename Digraph::Node Node;                                  \
     77  typedef typename Digraph::NodeIt NodeIt;                              \
     78  typedef typename Digraph::Arc Arc;                                    \
    7979  typedef typename Digraph::ArcIt ArcIt;                                \
    80   typedef typename Digraph::InArcIt InArcIt;                                \
    81   typedef typename Digraph::OutArcIt OutArcIt;                                \
    82   typedef typename Digraph::template NodeMap<bool> BoolNodeMap;                \
    83   typedef typename Digraph::template NodeMap<int> IntNodeMap;                \
    84   typedef typename Digraph::template NodeMap<double> DoubleNodeMap;        \
    85   typedef typename Digraph::template ArcMap<bool> BoolArcMap;                \
    86   typedef typename Digraph::template ArcMap<int> IntArcMap;                \
     80  typedef typename Digraph::InArcIt InArcIt;                            \
     81  typedef typename Digraph::OutArcIt OutArcIt;                          \
     82  typedef typename Digraph::template NodeMap<bool> BoolNodeMap;         \
     83  typedef typename Digraph::template NodeMap<int> IntNodeMap;           \
     84  typedef typename Digraph::template NodeMap<double> DoubleNodeMap;     \
     85  typedef typename Digraph::template ArcMap<bool> BoolArcMap;           \
     86  typedef typename Digraph::template ArcMap<int> IntArcMap;             \
    8787  typedef typename Digraph::template ArcMap<double> DoubleArcMap
    8888
     
    9797  ///on a template parameter, then use \c TEMPLATE_DIGRAPH_TYPEDEFS()
    9898  ///macro.
    99 #define GRAPH_TYPEDEFS(Graph)                                                \
    100   DIGRAPH_TYPEDEFS(Graph);                                                \
    101   typedef Graph::Edge Edge;                                                \
    102   typedef Graph::EdgeIt EdgeIt;                                                \
    103   typedef Graph::IncEdgeIt IncEdgeIt;                                        \
    104   typedef Graph::EdgeMap<bool> BoolEdgeMap;                                \
    105   typedef Graph::EdgeMap<int> IntEdgeMap;                                \
     99#define GRAPH_TYPEDEFS(Graph)                                           \
     100  DIGRAPH_TYPEDEFS(Graph);                                              \
     101  typedef Graph::Edge Edge;                                             \
     102  typedef Graph::EdgeIt EdgeIt;                                         \
     103  typedef Graph::IncEdgeIt IncEdgeIt;                                   \
     104  typedef Graph::EdgeMap<bool> BoolEdgeMap;                             \
     105  typedef Graph::EdgeMap<int> IntEdgeMap;                               \
    106106  typedef Graph::EdgeMap<double> DoubleEdgeMap
    107107
     
    112112  ///\note Use this macro, if the graph type is a dependent type,
    113113  ///ie. the graph type depend on a template parameter.
    114 #define TEMPLATE_GRAPH_TYPEDEFS(Graph)                                        \
    115   TEMPLATE_DIGRAPH_TYPEDEFS(Graph);                                        \
    116   typedef typename Graph::Edge Edge;                                        \
     114#define TEMPLATE_GRAPH_TYPEDEFS(Graph)                                  \
     115  TEMPLATE_DIGRAPH_TYPEDEFS(Graph);                                     \
     116  typedef typename Graph::Edge Edge;                                    \
    117117  typedef typename Graph::EdgeIt EdgeIt;                                \
    118   typedef typename Graph::IncEdgeIt IncEdgeIt;                                \
    119   typedef typename Graph::template EdgeMap<bool> BoolEdgeMap;                \
    120   typedef typename Graph::template EdgeMap<int> IntEdgeMap;                \
     118  typedef typename Graph::IncEdgeIt IncEdgeIt;                          \
     119  typedef typename Graph::template EdgeMap<bool> BoolEdgeMap;           \
     120  typedef typename Graph::template EdgeMap<int> IntEdgeMap;             \
    121121  typedef typename Graph::template EdgeMap<double> DoubleEdgeMap
    122122
  • lemon/lgf_reader.h

    r210 r212  
    147147    public:
    148148      ValueStorage(Value& value, const Converter& converter = Converter())
    149          : _value(value), _converter(converter) {}
     149        : _value(value), _converter(converter) {}
    150150
    151151      virtual void set(const std::string& value) {
     
    511511    DigraphReader(const std::string& fn, Digraph& digraph)
    512512      : _is(new std::ifstream(fn.c_str())), local_is(true), _digraph(digraph),
    513             _use_nodes(false), _use_arcs(false),
     513        _use_nodes(false), _use_arcs(false),
    514514        _skip_nodes(false), _skip_arcs(false) {}
    515515
     
    520520    DigraphReader(const char* fn, Digraph& digraph)
    521521      : _is(new std::ifstream(fn)), local_is(true), _digraph(digraph),
    522             _use_nodes(false), _use_arcs(false),
     522        _use_nodes(false), _use_arcs(false),
    523523        _skip_nodes(false), _skip_arcs(false) {}
    524524
     
    12951295    GraphReader(const std::string& fn, Graph& graph)
    12961296      : _is(new std::ifstream(fn.c_str())), local_is(true), _graph(graph),
    1297             _use_nodes(false), _use_edges(false),
     1297        _use_nodes(false), _use_edges(false),
    12981298        _skip_nodes(false), _skip_edges(false) {}
    12991299
     
    13041304    GraphReader(const char* fn, Graph& graph)
    13051305      : _is(new std::ifstream(fn)), local_is(true), _graph(graph),
    1306             _use_nodes(false), _use_edges(false),
     1306        _use_nodes(false), _use_edges(false),
    13071307        _skip_nodes(false), _skip_edges(false) {}
    13081308
  • lemon/lgf_writer.h

    r209 r212  
    182182    public:
    183183      ValueStorage(const Value& value, const Converter& converter = Converter())
    184          : _value(value), _converter(converter) {}
     184        : _value(value), _converter(converter) {}
    185185
    186186      virtual std::string get() {
  • lemon/list_graph.h

    r209 r212  
    495495      Node b = addNode();
    496496      for(OutArcIt e(*this,n);e!=INVALID;) {
    497          OutArcIt f=e;
     497        OutArcIt f=e;
    498498        ++f;
    499499        changeSource(e,b);
  • test/heap_test.cc

    r209 r212  
    5555  "9\n"
    5656  "@arcs\n"
    57   "                label        capacity\n"
    58   "0        5        0        94\n"
    59   "3        9        1        11\n"
    60   "8        7        2        83\n"
    61   "1        2        3        94\n"
    62   "5        7        4        35\n"
    63   "7        4        5        84\n"
    64   "9        5        6        38\n"
    65   "0        4        7        96\n"
    66   "6        7        8        6\n"
    67   "3        1        9        27\n"
    68   "5        2        10        77\n"
    69   "5        6        11        69\n"
    70   "6        5        12        41\n"
    71   "4        6        13        70\n"
    72   "3        2        14        45\n"
    73   "7        9        15        93\n"
    74   "5        9        16        50\n"
    75   "9        0        17        94\n"
    76   "9        6        18        67\n"
    77   "0        9        19        86\n"
     57  "                label   capacity\n"
     58  "0       5       0       94\n"
     59  "3       9       1       11\n"
     60  "8       7       2       83\n"
     61  "1       2       3       94\n"
     62  "5       7       4       35\n"
     63  "7       4       5       84\n"
     64  "9       5       6       38\n"
     65  "0       4       7       96\n"
     66  "6       7       8       6\n"
     67  "3       1       9       27\n"
     68  "5       2       10      77\n"
     69  "5       6       11      69\n"
     70  "6       5       12      41\n"
     71  "4       6       13      70\n"
     72  "3       2       14      45\n"
     73  "7       9       15      93\n"
     74  "5       9       16      50\n"
     75  "9       0       17      94\n"
     76  "9       6       18      67\n"
     77  "0       9       19      86\n"
    7878  "@attributes\n"
    7979  "source 3\n";
     
    142142    if (dijkstra.reached(s)) {
    143143      check( dijkstra.dist(t) - dijkstra.dist(s) <= length[a],
    144                    "Error in a shortest path tree!");
     144             "Error in a shortest path tree!");
    145145    }
    146146  }
Note: See TracChangeset for help on using the changeset viewer.