Bitstream Interpretation Library (BIL)  0.1
PrimitiveSiteType.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 #ifndef BIL_PRIMITIVESITETYPE_HPP
8 #define BIL_PRIMITIVESITETYPE_HPP
9 
11 #include <xdlrc/model/PinWire.hpp>
12 
13 
14 namespace bil {
15 
27  public:
28 
29  /**********************************************************************/
30  /* CONSTRUCTION / DESTRUCTION */
31  /**********************************************************************/
32 
37 
38 
39  /**********************************************************************/
40  /* PRIMITIVE TYPE INDEX */
41  /**********************************************************************/
42 
47  void primitiveTypeIndex(unsigned short index);
48 
53  unsigned short primitiveTypeIndex() const;
54 
55 
56  /**********************************************************************/
57  /* PIN WIRES */
58  /**********************************************************************/
59 
64  PinWires& pinWires();
65 
70  const PinWires& pinWires() const;
71 
72 
73  /**********************************************************************/
74  /* MODIFICATORS */
75  /**********************************************************************/
76 
80  void clear();
81 
82 
83  private:
84 
85  friend void writeBinary(const PrimitiveSiteType& data, std::ostream& outputStream);
86  friend void readBinary(PrimitiveSiteType& data, std::istream& inputStream);
87 
88  PinWires m_pinWires;
89  unsigned short m_primitiveTypeIndex;
90 
91  };
92 
94  typedef std::vector<PrimitiveSiteType> PrimitiveSiteTypes;
95 
96 }
97 
98 #endif