uint64_t decodeBinList(uint64_t const id, libmaus2::autoarray::AutoArray< std::pair<uint64_t,uint64_t> > & A) const { typedef std::vector< std::pair<uint64_t,uint64_t> >::const_iterator it; std::pair<it,it> const P = std::equal_range(T.begin(),T.end(),std::pair<uint64_t,uint64_t>(id,0),PairFirstComparator()); if ( P.second == P.first ) return 0; assert ( P.second-P.first == 1 ); libmaus2::aio::InputStreamInstance ISI(indexfn); ISI.clear(); ISI.seekg(P.first->second,std::ios::beg); uint64_t const rid = libmaus2::util::NumberSerialisation::deserialiseNumber(ISI); assert ( rid == id ); uint64_t const n = libmaus2::util::NumberSerialisation::deserialiseNumber(ISI); uint64_t o = 0; for ( uint64_t i = 0; i < n; ++i ) { uint64_t const a = libmaus2::util::NumberSerialisation::deserialiseNumber(ISI); uint64_t const b = libmaus2::util::NumberSerialisation::deserialiseNumber(ISI); A.push(o, std::pair<uint64_t,uint64_t>(a,b) ); } return n; }