quantities/WiringPath.h

Go to the documentation of this file.
00001 //============================================================================
00002 // Author      : Alessandro Pinto <apinto@eecs.berkeley.edu>
00003 //               University of California, Berkeley
00004 //               545 Cory Hall, Berkeley, CA 94720
00005 // Copyright   : See COPYING file that comes with this distribution
00006 //============================================================================
00007 
00008 #ifndef WIRINGPATH_H_
00009 #define WIRINGPATH_H_
00010 
00011 #include <iostream>
00012 #include <string>
00013 #include <list>
00014 #include "core/Quantity.h"
00015 #include "quantities/Position.h"
00016 
00017 namespace cosi
00018 {
00019 
00020 class WiringPath : public Quantity
00021 {
00022         std::list<Position> mPath ;
00023 public:
00024 
00025         typedef std::list<Position>::iterator iterator ;
00026 
00027         WiringPath();
00028 
00029         ~WiringPath();
00030 
00031         void AppendPosition(Position pP) ;
00032 
00033         void PrependPosition(Position pP) ;
00034 
00035         std::list<Position> GetValue();
00036 
00037         void SetValue(std::list<Position> pPath);
00038 
00039         WiringPath Get( ) ;
00040 
00041         void Set(WiringPath pPath) ;
00042 
00043         double Length();
00044 
00045         iterator PathBegin() ;
00046 
00047         iterator PathEnd();
00048 
00049         Position First();
00050         Position Last();
00051 
00052         bool operator<(WiringPath pPath) ;
00053         bool operator>(WiringPath pPath) ;
00054 
00055         WiringPath operator+(WiringPath pPath) ;
00056         WiringPath operator-(WiringPath pPath) ;
00057 
00058         friend std::ostream& operator <<(std::ostream &pOs , const WiringPath &pP) ;
00059 
00060         static std::string sQuantityName ;
00061         static std::string sQuantityType ;
00062 
00063 };
00064 
00065 }
00066 
00067 #endif /*WIRINGPATH_H_*/

Generated on Sun Sep 7 18:37:43 2008 for COSI by  doxygen 1.5.4
Contact 
©2002-2018 U.C. Regents