ATLAS Offline Software
BitUnpacker.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id$
16 #ifndef CXXUTILS_BITUNPACKER_H
17 #define CXXUTILS_BITUNPACKER_H
18 
19 
20 #include <stdint.h>
21 #include <cassert>
22 
23 
24 namespace CxxUtils {
25 
26 
37 template <class STREAM>
39 {
40 public:
47 
48 
53 
54 
55 private:
58 
61 
64 
67 
70 };
71 
72 
83 template <class STREAM>
85 {
86 public:
92 
93 
100 
101 
106 
107 
108 private:
111 
114 
117 };
118 
119 
130 template <class STREAM>
132 {
133 public:
139 
140 
147 
148 
153 
154 
155 private:
158 
161 
164 };
165 
166 
167 } // namespace CxxUtils
168 
169 
170 #include "CxxUtils/BitUnpacker.icc"
171 
172 
173 #endif // not CXXUTILS_BITUNPACKER_H
CxxUtils::BitUnpacker::BitUnpacker
BitUnpacker(uint8_t nbits, STREAM &stream)
Constructor.
CxxUtils::BitUnpacker8::m_buf
uint32_t m_buf
Buffer for the current word being unpacked.
Definition: BitUnpacker.h:110
CxxUtils::BitUnpacker16::m_nbuf
uint8_t m_nbuf
Number of valid words currently buffered.
Definition: BitUnpacker.h:160
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
CxxUtils::BitUnpacker16::BitUnpacker16
BitUnpacker16(uint8_t nbits, STREAM &stream)
Constructor.
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
CxxUtils::BitUnpacker8::BitUnpacker8
BitUnpacker8(STREAM &stream)
Constructor.
CxxUtils::BitUnpacker::unpack
uint32_t unpack()
Unpack one value from the stream.
CxxUtils::BitUnpacker8::unpack
uint32_t unpack()
Unpack one value from the stream.
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
CxxUtils::BitUnpacker::m_mask
uint32_t m_mask
Mask with the low m_nbits bits set.
Definition: BitUnpacker.h:69
CxxUtils::BitUnpacker::m_buf
uint32_t m_buf
Buffer for the current word being unpacked.
Definition: BitUnpacker.h:57
StateLessPT_NewConfig.STREAM
string STREAM
Definition: StateLessPT_NewConfig.py:23
CxxUtils::BitUnpacker16
Helper to unpack a set of values bitwise from a stream.
Definition: BitUnpacker.h:132
CxxUtils::BitUnpacker16::BitUnpacker16
BitUnpacker16(STREAM &stream)
Constructor.
CxxUtils
Definition: aligned_vector.h:29
CxxUtils::BitUnpacker16::m_buf
uint32_t m_buf
Buffer for the current word being unpacked.
Definition: BitUnpacker.h:157
CxxUtils::BitUnpacker::m_nbuf
uint8_t m_nbuf
Number of valid bits currently buffered.
Definition: BitUnpacker.h:60
BitUnpacker.icc
CxxUtils::BitUnpacker::m_nbits
uint8_t m_nbits
Number of bits to use for each item.
Definition: BitUnpacker.h:63
CxxUtils::BitUnpacker
Helper to unpack a set of values bitwise from a stream.
Definition: BitUnpacker.h:39
CxxUtils::BitUnpacker8
Helper to unpack a set of values bitwise from a stream.
Definition: BitUnpacker.h:85
CxxUtils::BitUnpacker16::m_stream
STREAM & m_stream
The input stream.
Definition: BitUnpacker.h:163
CxxUtils::BitUnpacker16::unpack
uint32_t unpack()
Unpack one value from the stream.
CxxUtils::BitUnpacker8::m_stream
STREAM & m_stream
The input stream.
Definition: BitUnpacker.h:116
CxxUtils::BitUnpacker8::m_nbuf
uint8_t m_nbuf
Number of valid bytes currently buffered.
Definition: BitUnpacker.h:113
CxxUtils::BitUnpacker::m_stream
STREAM & m_stream
The input stream.
Definition: BitUnpacker.h:66
CxxUtils::BitUnpacker8::BitUnpacker8
BitUnpacker8(uint8_t nbits, STREAM &stream)
Constructor.