Bitstream Interpretation Library (BIL)  0.1
V5CRCRegister.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 #ifndef BIL_V5CRCREGISTER_HPP
8 #define BIL_V5CRCREGISTER_HPP
9 
11 
12 
13 namespace bil {
14 
23  class V5CRCRegister: public Register {
24  public:
25 
26  /**********************************************************************/
27  /* CONSTRUCTION / DESTRUCTION */
28  /**********************************************************************/
29 
33  V5CRCRegister();
34 
35 
36  /**********************************************************************/
37  /* REGISTER I/O */
38  /**********************************************************************/
39 
47  virtual void write(const boost::uint32_t* words, size_t wordCount);
48 
55  virtual void read(boost::uint32_t* words, size_t wordCount) const;
56 
57 
58  /**********************************************************************/
59  /* CRC INTERFACE */
60  /**********************************************************************/
61 
66  boost::uint32_t crcValue() const;
67 
71  void reset();
72 
79  void update(const boost::uint32_t* words, size_t wordCount, RegisterAddress::address_t registerAddress);
80 
85  void check() const;
86 
87 
88  private:
89 
91  V5CRCRegister& operator=(const V5CRCRegister&);
92 
93  boost::uint32_t m_crcValue;
94 
95  };
96 
97 }
98 
99 #endif