wowlib 0.0.0
Read & write World of Warcraft client files — a C++26 core
Loading...
Searching...
No Matches
wowlib::db::RecordSource Class Referenceabstract

The encode source: the codecs read the record vector through this. More...

#include <wowlib/db/codec.hpp>

Inheritance diagram for wowlib::db::RecordSource:

Public Member Functions

virtual ~RecordSource ()=default
virtual std::size_t size () const =0
virtual std::uint32_t idOf (std::size_t record) const =0
virtual std::int64_t getInt (std::size_t record, std::size_t column, std::size_t element) const =0
virtual std::uint32_t getSlot (std::size_t record, std::size_t column, std::size_t element) const =0
virtual std::string_view getString (std::size_t record, std::size_t column, std::size_t element) const =0

Detailed Description

The encode source: the codecs read the record vector through this.

getInt returns a signed-widened integer (range scan, bit packing); getSlot returns the 32-bit pallet/common/None slot (an integer truncated to 32 bits, or a float's bit pattern); getString the string value. The element index follows the RecordSink convention. ErasedRecordSource implements it over a const std::vector<Record>&.

Definition at line 135 of file codec.hpp.

Constructor & Destructor Documentation

◆ ~RecordSource()

virtual wowlib::db::RecordSource::~RecordSource ( )
virtualdefault

Member Function Documentation

◆ getInt()

virtual std::int64_t wowlib::db::RecordSource::getInt ( std::size_t record,
std::size_t column,
std::size_t element ) const
pure virtual

◆ getSlot()

virtual std::uint32_t wowlib::db::RecordSource::getSlot ( std::size_t record,
std::size_t column,
std::size_t element ) const
pure virtual

◆ getString()

virtual std::string_view wowlib::db::RecordSource::getString ( std::size_t record,
std::size_t column,
std::size_t element ) const
pure virtual

◆ idOf()

virtual std::uint32_t wowlib::db::RecordSource::idOf ( std::size_t record) const
pure virtual

◆ size()

virtual std::size_t wowlib::db::RecordSource::size ( ) const
pure virtual

The documentation for this class was generated from the following file: