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_types.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(id)),
00025 right(new Link(id))
00026 {
00027 my_id = id;
00028
00029 left->pair_link = right;
00030 right->pair_link = left;
00031
00032 }
00033 virtual ~LinkPair() {}
00034
00035 LinkId_t getId() {
00036 return my_id;
00037 }
00038
00039 inline Link* getLeft() {return left;}
00040 inline Link* getRight() {return right;}
00041
00042 private:
00043
00044 Link* left;
00045 Link* right;
00046
00047 LinkId_t my_id;
00048
00049 friend class boost::serialization::access;
00050 template<class Archive>
00051 void
00052 serialize(Archive & ar, const unsigned int version )
00053 {
00054 }
00055 };
00056
00057 }
00058
00059 BOOST_CLASS_EXPORT_KEY(SST::LinkPair)
00060
00061 #endif // SST_LINKPAIR_H