6static inline uint8_t
BIT_SEL(uint8_t x) {
return 1 << x; }
14 uint endz = last_section >> 3;
16 sect.resize(endz, 0x00);
17 sect.resize(32, 0xff);
18 sect[endz] =
kInitBits[last_section & 0x7];
31 uint32_t last_section, uint32_t segment_last_section)
35 if ((segment_last_section != 0xffff) && (last_section != segment_last_section))
51 for (uint32_t i = 0; i < 32; i++)
66 uint32_t last_section, uint32_t segment_last_section)
75 const_iterator it = this->
find(key);
76 if (it == this->end() || it->m_version !=
version)
78 return (
bool) (it->m_sections[section>>3] &
BIT_SEL(section & 0x7));
83 const_iterator it = this->
find(key);
84 if (it == this->end())
87 return it->HasAllSections();
void SetSectionSeen(uint32_t key, int32_t version, uint32_t section, uint32_t last_section, uint32_t segment_last_section=0xffff)
void SetVersion(uint32_t key, int32_t version, uint32_t last_section)
bool IsSectionSeen(uint32_t key, int32_t version, uint32_t section) const
bool HasAllSections(uint32_t key) const
void SetVersion(int32_t version, uint32_t last_section)
static const std::array< const uint8_t, 8 > kInitBits
void SetSectionSeen(int32_t version, uint32_t section, uint32_t last_section, uint32_t segment_last_section=0xffff)
bool IsSectionSeen(int32_t version, uint32_t section) const
bool HasAllSections() const
std::vector< uint8_t > sections_t
static void InitSections(sections_t §, uint32_t last_section)
static pid_list_t::iterator find(const PIDInfoMap &map, pid_list_t &list, pid_list_t::iterator begin, pid_list_t::iterator end, bool find_open)
static uint8_t BIT_SEL(uint8_t x)