$treeview $search $mathjax $extrastylesheet
otsdaq
v2_03_00
$projectbrief
|
$projectbrief
|
$searchbox |
00001 #ifndef ots_BitManipulator_h 00002 #define ots_BitManipulator_h 00003 00004 #include <stdint.h> 00005 #include <string> 00006 00007 namespace ots 00008 { 00009 class BitManipulator 00010 { 00011 public: 00012 BitManipulator(void); 00013 ~BitManipulator(void); 00014 static uint64_t insertBits(uint64_t& data, 00015 uint64_t value, 00016 unsigned int startBit, 00017 unsigned int numberOfBits); 00018 static uint64_t insertBits(std::string& data, 00019 uint64_t value, 00020 unsigned int startBit, 00021 unsigned int numberOfBits); 00022 static uint64_t reverseBits(uint64_t data, 00023 unsigned int startBit, 00024 unsigned int numberOfBits); 00025 static uint32_t insertBits(uint32_t& data, 00026 uint32_t value, 00027 unsigned int startBit, 00028 unsigned int numberOfBits); 00029 static uint32_t insertBits(std::string& data, 00030 uint32_t value, 00031 unsigned int startBit, 00032 unsigned int numberOfBits); 00033 static uint32_t reverseBits(uint32_t data, 00034 unsigned int startBit, 00035 unsigned int numberOfBits); 00036 static uint32_t readBits(uint32_t data, 00037 unsigned int startBit, 00038 unsigned int numberOfBits); 00039 }; 00040 00041 } // namespace ots 00042 00043 #endif