/home/nutarojj/adevs-2.3/include/adevs_lp_graph.h

00001 /***************
00002 Copyright (C) 2009 by James Nutaro
00003 
00004 This library is free software; you can redistribute it and/or
00005 modify it under the terms of the GNU Lesser General Public
00006 License as published by the Free Software Foundation; either
00007 version 2 of the License, or (at your option) any later version.
00008 
00009 This library is distributed in the hope that it will be useful,
00010 but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012 Lesser General Public License for more details.
00013 
00014 You should have received a copy of the GNU Lesser General Public
00015 License along with this library; if not, write to the Free Software
00016 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017 
00018 Bugs, comments, and questions can be sent to nutaro@gmail.com
00019 ***************/
00020 #ifndef adevs_lp_graph_h
00021 #define adevs_lp_graph_h
00022 #include <vector>
00023 #include <map>
00024 
00025 namespace adevs
00026 {
00027 
00035 class LpGraph
00036 {
00037         public:
00039                 LpGraph(){}
00041                 void addEdge(int A, int B)
00042                 {
00043                         E[A].push_back(B);
00044                         I[B].push_back(A);
00045                 }
00047                 const std::vector<int>& getI(int B) { return I[B]; }
00049                 const std::vector<int>& getE(int A) { return E[A]; }
00051                 ~LpGraph(){}
00052         private:
00053                 // Influencee graph
00054                 std::map<int,std::vector<int> > E;
00055                 // Complimentary influencer graph
00056                 std::map<int,std::vector<int> > I;
00057 };
00058 
00059 }
00060 
00061 #endif

Generated on Tue Oct 6 20:46:41 2009 for adevs by  doxygen 1.4.7