Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

routes.hxx

Go to the documentation of this file.
00001 // Copyright (C) 2003, 2004, 2005 Laboratoire de Recherche en Informatique
00002 
00003 // This file is part of Qolyester.
00004 
00005 // Qolyester is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU General Public License
00007 // as published by the Free Software Foundation; either version 2
00008 // of the License, or (at your option) any later version.
00009 
00010 // Qolyester is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU General Public License for more details.
00014 
00015 // You should have received a copy of the GNU General Public License
00016 // along with this program; if not, write to the Free Software
00017 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
00018 
00019 # include "routes.hh"
00020 
00021 #ifndef QOLYESTER_DAEMON_SET_ROUTES_HXX
00022 # define QOLYESTER_DAEMON_SET_ROUTES_HXX 1
00023 
00024 namespace olsr {
00025 
00026   rrouteset_t   operator*(const rrouteset_t& a, const lrouteset_t& b)
00027   {
00028     rrouteset_t ret;
00029 
00030     for (rrouteset_t::const_iterator i = a.begin(); i != a.end(); ++i) {
00031       lrouteset_t::const_iterator       x =
00032         b.find(net::LocalRoute::make_key(i->dest_addr(), i->prefix()));
00033       if (x != b.end())
00034         ret.insert(*i);
00035     }
00036 
00037     return ret;
00038   }
00039 
00040   rrouteset_t   operator-(const rrouteset_t& a, const lrouteset_t& b)
00041   {
00042     rrouteset_t ret;
00043 
00044     for (rrouteset_t::const_iterator i = a.begin(); i != a.end(); ++i) {
00045       lrouteset_t::const_iterator       x =
00046         b.find(net::LocalRoute::make_key(i->dest_addr(), i->prefix()));
00047       if (x == b.end())
00048         ret.insert(*i);
00049     }
00050 
00051     return ret;
00052   }
00053 
00054 } // namespace olsr
00055 
00056 #endif // !QOLYESTER_DAEMON_SET_ROUTES_HXX

Generated on Thu Jul 28 21:21:48 2005 for Qolyester daemon by  doxygen 1.4.1