00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef __Layout_AMOS_HH
00011 #define __Layout_AMOS_HH 1
00012
00013 #include "Universal_AMOS.hh"
00014 #include <vector>
00015
00016
00017
00018
00019
00020 namespace AMOS {
00021
00022
00030
00031 class Layout_t : public Universal_t
00032 {
00033
00034 protected:
00035
00036 std::vector<Tile_t> tiles_m;
00037
00038
00039 protected:
00040
00041
00042 virtual void readRecord (std::istream & fix, std::istream & var);
00043
00044
00045 virtual void readRecordFix (std::istream & fix);
00046
00047
00048 virtual void writeRecord (std::ostream & fix, std::ostream & var) const;
00049
00050
00051 public:
00052
00053 static const NCode_t NCODE;
00055
00056
00057
00060 Layout_t ( )
00061 {
00062
00063 }
00064
00065
00066
00069 Layout_t (const Layout_t & source)
00070 {
00071 *this = source;
00072 }
00073
00074
00075
00078 ~Layout_t ( )
00079 {
00080
00081 }
00082
00083
00084
00085 virtual void clear ( )
00086 {
00087 Universal_t::clear( );
00088 tiles_m . clear( );
00089 }
00090
00091
00092
00093 virtual NCode_t getNCode ( ) const
00094 {
00095 return Layout_t::NCODE;
00096 }
00097
00098
00099
00107 Size_t getSpan ( ) const;
00108
00109
00110
00115 const std::vector<Tile_t> & getTiling ( ) const
00116 {
00117 return tiles_m;
00118 }
00119
00120
00121
00126 std::vector<Tile_t> & getTiling ( )
00127 {
00128 return tiles_m;
00129 }
00130
00131
00132
00133 virtual void readMessage (const Message_t & msg);
00134
00135
00136
00142 void setTiling (const std::vector<Tile_t> & tiles)
00143 {
00144 tiles_m = tiles;
00145 }
00146
00147
00148
00149 virtual void writeMessage (Message_t & msg) const;
00150
00151 };
00152
00153 }
00154
00155 #endif // #ifndef __Layout_AMOS_HH