@@ -732,34 +732,30 @@ class DTCompactedEntries
732732public:
733733 struct Entry
734734 {
735+ friend class DTCompactedEntries <M, F, S>;
736+
737+ public:
738+ Entry (UInt64 sid_, bool is_insert_, UInt32 count_, UInt64 value_)
739+ : sid(sid_)
740+ , is_insert(is_insert_)
741+ , count(count_)
742+ , value(value_)
743+ {}
744+
745+ UInt64 getSid () const { return sid; }
746+ bool isInsert () const { return is_insert; }
747+ bool isDelete () const { return !is_insert; }
748+ UInt32 getCount () const { return count; }
749+ UInt64 getValue () const { return value; }
750+
751+ private:
735752 UInt64 sid;
736753 bool is_insert;
737754 UInt32 count;
738755 UInt64 value;
739756 };
740757 using Entries = std::vector<Entry>;
741-
742- struct Iterator
743- {
744- typename Entries::iterator it;
745-
746- explicit Iterator (typename Entries::iterator it_)
747- : it(it_)
748- {}
749- bool operator ==(const Iterator & rhs) const { return it == rhs.it ; }
750- bool operator !=(const Iterator & rhs) const { return it != rhs.it ; }
751- Iterator & operator ++()
752- {
753- ++it;
754- return *this ;
755- }
756-
757- UInt64 getSid () const { return it->sid ; }
758- bool isInsert () const { return it->is_insert ; }
759- bool isDelete () const { return !it->is_insert ; }
760- UInt32 getCount () const { return it->count ; }
761- UInt64 getValue () const { return it->value ; }
762- };
758+ using Iterator = typename Entries::iterator;
763759
764760private:
765761 Entries entries;
@@ -783,14 +779,12 @@ class DTCompactedEntries
783779 continue ;
784780 }
785781 }
786- Entry entry
787- = {.sid = it.getSid (), .is_insert = it.isInsert (), .count = it.getCount (), .value = it.getValue ()};
788- entries.emplace_back (entry);
782+ entries.emplace_back (it.getSid (), it.isInsert (), it.getCount (), it.getValue ());
789783 }
790784 }
791785
792- auto begin () { return Iterator ( entries.begin () ); }
793- auto end () { return Iterator ( entries.end () ); }
786+ auto begin () { return entries.begin (); }
787+ auto end () { return entries.end (); }
794788};
795789
796790template <class ValueSpace , size_t M, size_t F, size_t S, typename Allocator>
0 commit comments