/* * FragmentEdge.hpp * * Created on: Sep 24, 2012 * Author: heber */ #ifndef FRAGMENTEDGE_HPP_ #define FRAGMENTEDGE_HPP_ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include #include class FragmentEdge { //!> grant output operator access to internals friend std::ostream& operator<<(std::ostream &out, const FragmentEdge &node); public: typedef std::pair AtomicNumberPair_t; FragmentEdge(); FragmentEdge(const AtomicNumberPair_t &_pair); FragmentEdge(const size_t _left, const size_t _right); ~FragmentEdge() {} FragmentEdge& operator=(const FragmentEdge &edge); bool operator<(const FragmentEdge &edge) const; bool operator>(const FragmentEdge &edge) const; bool operator==(const FragmentEdge &edge) const; bool operator!=(const FragmentEdge &edge) const { return (!(*this == edge)); } private: //!> stores the atomic number of either FragmentNode making up the edge const AtomicNumberPair_t AtomicNumberPair; }; std::ostream& operator<<(std::ostream &out, const FragmentEdge &node); #endif /* FRAGMENTEDGE_HPP_ */