00001 #ifndef __hang_h 00002 #define __hang_h 00003 00004 #include <vector> 00005 #include "fixarray.h" 00006 #include <string> 00007 00008 /*------------------------------------------------------*/ 00009 00010 namespace Gascoigne 00011 { 00012 class Hang : public fixarray<3,int> 00013 { 00014 public: 00015 00016 Hang(); 00017 Hang(const Hang& h); 00018 Hang(int nh, int nr, int nc) ; 00019 00020 int hanging () const { return (*this)[0]; } 00021 int& hanging () { return (*this)[0]; } 00022 int rneighbour() const { return (*this)[1]; } 00023 int& rneighbour() { return (*this)[1]; } 00024 int cneighbour() const { return (*this)[2]; } 00025 int& cneighbour() { return (*this)[2]; } 00026 00027 const fixarray<3,int>& operator()() const { return (*this);} 00028 00029 friend std::ostream& operator<<(std::ostream &s, const Hang& A); 00030 friend std::istream& operator>>(std::istream &s, Hang& A); 00031 }; 00032 } 00033 00034 #endif