otsdaq  v1_01_03
 All Classes Namespaces Functions
BitManipulator.h
1 #ifndef ots_BitManipulator_h
2 #define ots_BitManipulator_h
3 
4 #include <stdint.h>
5 #include <string>
6 
7 namespace ots
8 {
9 
11 {
12 public:
13  BitManipulator (void);
14  ~BitManipulator(void);
15  static uint64_t insertBits (uint64_t& data, uint64_t value, unsigned int startBit, unsigned int numberOfBits);
16  static uint64_t insertBits (std::string& data, uint64_t value, unsigned int startBit, unsigned int numberOfBits);
17  static uint64_t reverseBits (uint64_t data, unsigned int startBit, unsigned int numberOfBits);
18  static uint32_t insertBits (uint32_t& data, uint32_t value, unsigned int startBit, unsigned int numberOfBits);
19  static uint32_t insertBits (std::string& data, uint32_t value, unsigned int startBit, unsigned int numberOfBits);
20  static uint32_t reverseBits (uint32_t data, unsigned int startBit, unsigned int numberOfBits);
21  static uint32_t readBits (uint32_t data, unsigned int startBit, unsigned int numberOfBits);
22 };
23 
24 }
25 
26 #endif