00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef SST_LINKPAIR_H
00014 #define SST_LINKPAIR_H
00015
00016 #include <sst/core/sst.h>
00017 #include <sst/core/link.h>
00018
00019 namespace SST {
00020
00021 class LinkPair {
00022 public:
00023 LinkPair(LinkId_t id) :
00024 left(new Link()),
00025 right(new Link())
00026 {
00027
00028 my_id = id;
00029
00030
00031
00032
00033
00034 left->pair_link = right;
00035 right->pair_link = left;
00036
00037 }
00038 virtual ~LinkPair() {}
00039
00040 LinkId_t getId() {
00041 return my_id;
00042 }
00043
00044 inline Link* getLeft() {return left;}
00045 inline Link* getRight() {return right;}
00046
00047 private:
00048
00049 Link* left;
00050 Link* right;
00051
00052 LinkId_t my_id;
00053
00054 friend class boost::serialization::access;
00055 template<class Archive>
00056 void
00057 serialize(Archive & ar, const unsigned int version )
00058 {
00059 }
00060 };
00061
00062 }
00063
00064 #endif // SST_LINKPAIR_H