SimEdge.ccGo to the documentation of this file.00001
00002
00003
00004 #ifdef POLARIS_GNU_PRAGMAS
00005 #pragma implementation
00006 #endif
00007
00008 #include "SimEdge.h"
00009
00010
00011 SimEdge::SimEdge( )
00012 {
00013 #ifdef CLASS_INSTANCE_REGISTRY
00014 register_instance(SIM_EDGE, sizeof(SimEdge), this);
00015 #endif
00016
00017 _node_1 = NULL;
00018 _node_2 = NULL;
00019 _index1 = -1;
00020 _index2 = -1;
00021 _edge = NULL;
00022 }
00023
00024
00025 SimEdge::SimEdge(int index1, int index2,
00026 AbstractAccess * node1, AbstractAccess * node2,
00027 SimEdgeKernel * edge)
00028 {
00029 #ifdef CLASS_INSTANCE_REGISTRY
00030 register_instance(SIM_EDGE, sizeof(SimEdge), this);
00031 #endif
00032
00033 _node_1 = node1;
00034 _node_2 = node2;
00035 _index1 = index1;
00036 _index2 = index2;
00037 _edge = edge;
00038 }
00039
00040
00041 AbstractAccess *
00042 SimEdge::node_1( ) const
00043 {
00044 return _node_1;
00045 }
00046
00047
00048 AbstractAccess *
00049 SimEdge::node_2( ) const
00050 {
00051 return _node_2;
00052 }
00053
00054
00055 int
00056 SimEdge::index1( ) const
00057 {
00058 return _index1;
00059 }
00060
00061
00062 int
00063 SimEdge::index2( ) const
00064 {
00065 return _index2;
00066 }
00067
00068
00069 SimEdgeKernel *
00070 SimEdge::edge( ) const
00071 {
00072 return _edge;
00073 }
00074
00075
00076 SimilarityType
00077 SimEdge::type( ) const
00078 {
00079 return _edge->type( );
00080 }
00081
00082 char *
00083 SimEdge::type_name() const
00084 {
00085 return _edge->type_name();
00086 }
00087
00088 SimEdge *
00089 SimEdge::clone() const
00090 {
00091 return new SimEdge( *this );
00092 }
00093
00094 Listable *
00095 SimEdge::listable_clone() const
00096 {
00097 return (Listable *) clone();
00098 }
00099
00100
00101 SimEdge::~SimEdge( )
00102 {
00103 #ifdef CLASS_INSTANCE_REGISTRY
00104 unregister_instance(SIM_EDGE, this);
00105 #endif
00106 }
00107
00108 void
00109 SimEdge::print(ostream & o) const
00110 {
00111 o << "{" << _node_1 << ", " << _node_2 << "[" << _edge << "]" << "}";
00112 }
00113
00114 ostream &
00115 operator << (ostream & o, const SimEdge & edge)
00116 {
00117 edge.print(o);
00118 return o;
00119 }
|