TrinityCore
Loading...
Searching...
No Matches
ByteBuffer Class Reference

#include <ByteBuffer.h>

+ Inheritance diagram for ByteBuffer:

Classes

struct  Reserve
 
struct  Resize
 

Public Member Functions

 ByteBuffer ()
 
 ByteBuffer (size_t size, Reserve)
 
 ByteBuffer (size_t size, Resize)
 
 ByteBuffer (ByteBuffer const &right)=default
 
 ByteBuffer (ByteBuffer &&buf) noexcept
 
 ByteBuffer (std::vector< uint8 > &&buffer) noexcept
 
std::vector< uint8 > && Release () &&noexcept
 
ByteBuffer & operator= (ByteBuffer const &right)=default
 
ByteBuffer & operator= (ByteBuffer &&right) noexcept
 
virtual ~ByteBuffer ()=default
 
void clear ()
 
template<ByteBufferNumeric T>
void append (T value)
 
bool HasUnfinishedBitPack () const
 
void FlushBits ()
 
void ResetBitPos ()
 
bool WriteBit (bool bit)
 
bool ReadBit ()
 
void WriteBits (uint64 value, int32 bits)
 
uint32 ReadBits (int32 bits)
 
template<ByteBufferNumeric T>
void put (std::size_t pos, T value)
 

Static Public Attributes

static constexpr size_t DEFAULT_SIZE = 0x1000
 
static constexpr uint8 InitialBitPos = 8
 

PutBits

Places specified amount of bits of value at specified position in packet. To ensure all bits are correctly written, only call this method after bit flush has been performed

Parameters
posPosition to place the value at, in bits. The entire value must fit in the packet It is advised to obtain the position using bitwpos() function.
valueData to write.
bitCountNumber of bits to store the value on.
size_t _rpos
 
size_t _wpos
 
uint8 _bitpos
 
uint8 _curbitval
 
std::vector< uint8 > _storage
 
void PutBits (std::size_t pos, std::size_t value, uint32 bitCount)
 
ByteBuffer & operator<< (bool)=delete
 
ByteBuffer & operator<< (char value)
 
ByteBuffer & operator<< (uint8 value)
 
ByteBuffer & operator<< (uint16 value)
 
ByteBuffer & operator<< (uint32 value)
 
ByteBuffer & operator<< (uint64 value)
 
ByteBuffer & operator<< (int8 value)
 
ByteBuffer & operator<< (int16 value)
 
ByteBuffer & operator<< (int32 value)
 
ByteBuffer & operator<< (int64 value)
 
ByteBuffer & operator<< (float value)
 
ByteBuffer & operator<< (double value)
 
ByteBuffer & operator<< (std::string_view value)
 
ByteBuffer & operator<< (std::string const &str)
 
ByteBuffer & operator<< (char const *str)
 
ByteBuffer & operator>> (bool &)=delete
 
ByteBuffer & operator>> (char &value)
 
ByteBuffer & operator>> (uint8 &value)
 
ByteBuffer & operator>> (uint16 &value)
 
ByteBuffer & operator>> (uint32 &value)
 
ByteBuffer & operator>> (uint64 &value)
 
ByteBuffer & operator>> (int8 &value)
 
ByteBuffer & operator>> (int16 &value)
 
ByteBuffer & operator>> (int32 &value)
 
ByteBuffer & operator>> (int64 &value)
 
ByteBuffer & operator>> (float &value)
 
ByteBuffer & operator>> (double &value)
 
ByteBuffer & operator>> (std::string &value)
 
uint8 & operator[] (size_t const pos)
 
uint8 const & operator[] (size_t const pos) const
 
size_t rpos () const
 
size_t rpos (size_t rpos_)
 
void rfinish ()
 
size_t wpos () const
 
size_t wpos (size_t wpos_)
 
size_t bitwpos () const
 Returns position of last written bit.
 
size_t bitwpos (size_t newPos)
 
template<ByteBufferNumeric T>
void read_skip ()
 
void read_skip (size_t skip)
 
template<ByteBufferNumeric T>
T read ()
 
template<ByteBufferNumeric T>
T read (size_t pos) const
 
template<ByteBufferNumeric T>
void read (T *dest, size_t count)
 
void read (uint8 *dest, size_t len)
 
template<ByteBufferNumeric T, size_t Size>
void read (std::array< T, Size > &arr)
 
void WriteString (std::string const &str)
 
void WriteString (std::string_view str)
 
void WriteString (char const *str, size_t len)
 
void ReadSkipCString (bool requireValidUtf8=true)
 
std::string_view ReadCString (bool requireValidUtf8=true)
 
std::string_view ReadString (uint32 length, bool requireValidUtf8=true)
 
std::span< uint8 > ReadBytes (size_t length)
 
uint8 * data ()
 
uint8 const * data () const
 
size_t size () const
 
bool empty () const
 
void resize (size_t newsize)
 
void reserve (size_t ressize)
 
void shrink_to_fit ()
 
template<ByteBufferNumeric T>
void append (T const *src, size_t cnt)
 
void append (uint8 const *src, size_t cnt)
 
void append (ByteBuffer const &buffer)
 
template<ByteBufferNumeric T, std::size_t Size>
void append (std::array< T, Size > const &arr)
 
void put (size_t pos, uint8 const *src, size_t cnt)
 
void print_storage () const
 
void textlike () const
 
void hexlike () const
 
void OnInvalidPosition (size_t pos, size_t valueSize) const
 

Detailed Description

Definition at line 63 of file ByteBuffer.h.

Constructor & Destructor Documentation

◆ ByteBuffer() [1/6]

ByteBuffer::ByteBuffer ( )
inlineexplicit

Definition at line 74 of file ByteBuffer.h.

◆ ByteBuffer() [2/6]

ByteBuffer::ByteBuffer ( size_t  size,
Reserve   
)
inlineexplicit

Definition at line 76 of file ByteBuffer.h.

◆ ByteBuffer() [3/6]

ByteBuffer::ByteBuffer ( size_t  size,
Resize   
)
inlineexplicit

Definition at line 81 of file ByteBuffer.h.

◆ ByteBuffer() [4/6]

ByteBuffer::ByteBuffer ( ByteBuffer const &  right)
default

◆ ByteBuffer() [5/6]

ByteBuffer::ByteBuffer ( ByteBuffer &&  buf)
inlinenoexcept

Definition at line 88 of file ByteBuffer.h.

◆ ByteBuffer() [6/6]

ByteBuffer::ByteBuffer ( std::vector< uint8 > &&  buffer)
inlineexplicitnoexcept

Definition at line 91 of file ByteBuffer.h.

◆ ~ByteBuffer()

virtual ByteBuffer::~ByteBuffer ( )
virtualdefault

Member Function Documentation

◆ append() [1/5]

void ByteBuffer::append ( ByteBuffer const &  buffer)
inline

Definition at line 614 of file ByteBuffer.h.

References data(), empty(), and size().

◆ append() [2/5]

template<ByteBufferNumeric T, std::size_t Size>
void ByteBuffer::append ( std::array< T, Size > const &  arr)
inline

Definition at line 621 of file ByteBuffer.h.

◆ append() [3/5]

template<ByteBufferNumeric T>
void ByteBuffer::append ( T const *  src,
size_t  cnt 
)
inline

Definition at line 602 of file ByteBuffer.h.

◆ append() [4/5]

template<ByteBufferNumeric T>
void ByteBuffer::append ( T  value)
inline

Definition at line 131 of file ByteBuffer.h.

References EndianConvert().

Referenced by BaseEntity::BuildEntityFragments(), BaseEntity::BuildMovementUpdate(), UpdateData::BuildPacket(), WorldSession::HandleDBQueryBulk(), WorldSession::HandleHotfixRequest(), WorldPackets::Spells::operator<<(), WorldPackets::AuctionHouse::operator<<(), WorldPackets::Talent::operator<<(), WorldPackets::NPC::operator<<(), WorldPackets::Auth::operator<<(), WorldPackets::Party::operator<<(), WorldPackets::Character::operator<<(), WorldPackets::Garrison::operator<<(), WorldPackets::Garrison::operator<<(), WorldPackets::Inspect::operator<<(), WorldPackets::Item::operator<<(), WorldPackets::MythicPlus::operator<<(), WorldPackets::Battleground::operator<<(), WorldPackets::Quest::operator<<(), WorldPackets::Quest::operator<<(), WorldPackets::Spells::operator<<(), WorldPackets::Auth::AuthChallenge::Write(), WorldPackets::Auth::EnterEncryptedMode::Write(), WorldPackets::Battleground::BattlefieldList::Write(), WorldPackets::Battlenet::Notification::Write(), WorldPackets::Battlenet::Response::Write(), WorldPackets::Battlenet::ChangeRealmTicketResponse::Write(), WorldPackets::Chat::Emote::Write(), WorldPackets::CombatLog::AttackerStateUpdate::Write(), WorldPackets::EquipmentSet::LoadEquipmentSet::Write(), WorldPackets::Hotfix::DBReply::Write(), WorldPackets::Hotfix::HotfixConnect::Write(), WorldPackets::Inspect::InspectResult::Write(), WorldPackets::Item::SendItemPassives::Write(), WorldPackets::Loot::StartLootRoll::Write(), WorldPackets::Misc::TutorialFlags::Write(), WorldPackets::Misc::SpecialMountAnim::Write(), WorldPackets::NPC::TrainerList::Write(), WorldPackets::Pet::PetSpells::Write(), WorldPackets::Query::QueryCreatureResponse::Write(), WorldPackets::Query::QueryNPCTextResponse::Write(), WorldPackets::Query::QueryGameObjectResponse::Write(), WorldPackets::Query::QuestPOIQueryResponse::Write(), WorldPackets::Query::QuestCompletionNPCResponse::Write(), WorldPackets::Quest::QueryQuestInfoResponse::Write(), WorldPackets::Quest::QuestGiverQuestDetails::Write(), WorldPackets::Quest::QuestGiverRequestItems::Write(), WorldPackets::Scenario::ScenarioState::Write(), WorldPackets::Spells::UpdateActionButtons::Write(), WorldPackets::Spells::ClearCooldowns::Write(), WorldPackets::Spells::DispelFailed::Write(), WorldPackets::System::FeatureSystemStatusGlueScreen::Write(), WorldPackets::Talent::LearnTalentFailed::Write(), WorldPackets::Taxi::ShowTaxiNodes::Write(), WorldPackets::Transmogrification::AccountTransmogUpdate::Write(), and WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock().

◆ append() [5/5]

void ByteBuffer::append ( uint8 const *  src,
size_t  cnt 
)

Definition at line 88 of file ByteBuffer.cpp.

References _storage, _wpos, ASSERT, FlushBits(), size(), and SZFMTD.

◆ bitwpos() [1/2]

size_t ByteBuffer::bitwpos ( ) const
inline

Returns position of last written bit.

Definition at line 471 of file ByteBuffer.h.

◆ bitwpos() [2/2]

size_t ByteBuffer::bitwpos ( size_t  newPos)
inline

Definition at line 473 of file ByteBuffer.h.

◆ clear()

void ByteBuffer::clear ( )
inline

◆ data() [1/2]

◆ data() [2/2]

uint8 const * ByteBuffer::data ( ) const
inline

Definition at line 578 of file ByteBuffer.h.

◆ empty()

◆ FlushBits()

void ByteBuffer::FlushBits ( )
inline

Definition at line 142 of file ByteBuffer.h.

Referenced by append(), BaseEntity::BuildMovementUpdate(), WorldPackets::CombatLog::CombatLogServerPacket::FlushBits(), WorldPackets::CombatLog::operator<<(), WorldPackets::CombatLog::operator<<(), WorldPackets::Trade::operator<<(), WorldPackets::Trade::operator<<(), WorldPackets::AuctionHouse::operator<<(), WorldPackets::AuctionHouse::operator<<(), WorldPackets::Spells::operator<<(), WorldPackets::Spells::operator<<(), WorldPackets::Auth::operator<<(), WorldPackets::Auth::operator<<(), WorldPackets::Inspect::operator<<(), WorldPackets::Battleground::operator<<(), WorldPackets::BattlePet::operator<<(), WorldPackets::BattlePet::operator<<(), WorldPackets::BlackMarket::operator<<(), WorldPackets::Scenario::operator<<(), WorldPackets::AuctionHouse::operator<<(), WorldPackets::Calendar::operator<<(), WorldPackets::Calendar::operator<<(), WorldPackets::Calendar::operator<<(), WorldPackets::Party::operator<<(), WorldPackets::Talent::operator<<(), WorldPackets::NPC::operator<<(), WorldPackets::NPC::operator<<(), WorldPackets::CombatLog::operator<<(), WorldPackets::Quest::operator<<(), WorldPackets::Social::operator<<(), WorldPackets::Spells::operator<<(), WorldPackets::Crafting::operator<<(), WorldPackets::Crafting::operator<<(), WorldPackets::Achievement::operator<<(), WorldPackets::System::operator<<(), WorldPackets::MythicPlus::operator<<(), WorldPackets::Character::operator<<(), WorldPackets::Character::operator<<(), WorldPackets::Character::operator<<(), WorldPackets::Character::operator<<(), WorldPackets::Reputation::operator<<(), WorldPackets::Auth::operator<<(), WorldPackets::Garrison::operator<<(), WorldPackets::Garrison::operator<<(), WorldPackets::Garrison::operator<<(), WorldPackets::Garrison::operator<<(), WorldPackets::Garrison::operator<<(), WorldPackets::Query::operator<<(), WorldPackets::Guild::operator<<(), WorldPackets::Guild::operator<<(), WorldPackets::Guild::operator<<(), WorldPackets::Hotfix::operator<<(), WorldPackets::Query::operator<<(), WorldPackets::Inspect::operator<<(), WorldPackets::Instance::operator<<(), WorldPackets::Item::operator<<(), WorldPackets::Item::operator<<(), WorldPackets::Query::operator<<(), WorldPackets::Spells::operator<<(), WorldPackets::Party::operator<<(), WorldPackets::LFG::operator<<(), WorldPackets::LFG::operator<<(), WorldPackets::LFG::operator<<(), WorldPackets::LFG::operator<<(), WorldPackets::Loot::operator<<(), WorldPackets::Loot::operator<<(), WorldPackets::Mail::operator<<(), WorldPackets::Mail::operator<<(), WorldPackets::System::operator<<(), WorldPackets::Movement::operator<<(), operator<<(), operator<<(), WorldPackets::Movement::operator<<(), WorldPackets::Movement::operator<<(), WorldPackets::Movement::operator<<(), WorldPackets::MythicPlus::operator<<(), WorldPackets::Query::operator<<(), WorldPackets::Party::operator<<(), WorldPackets::Party::operator<<(), WorldPackets::Party::operator<<(), WorldPackets::CombatLog::operator<<(), WorldPackets::PerksProgram::operator<<(), WorldPackets::Petition::operator<<(), WorldPackets::Quest::operator<<(), WorldPackets::Quest::operator<<(), WorldPackets::Inspect::operator<<(), WorldPackets::Battleground::operator<<(), WorldPackets::Query::operator<<(), WorldPackets::Quest::operator<<(), operator<<(), WorldPackets::Quest::operator<<(), WorldPackets::Quest::operator<<(), WorldPackets::Quest::operator<<(), WorldPackets::Battleground::operator<<(), WorldPackets::LFG::operator<<(), WorldPackets::Scenario::operator<<(), WorldPackets::System::operator<<(), WorldPackets::Quest::operator<<(), WorldPackets::Spells::operator<<(), WorldPackets::Spells::operator<<(), WorldPackets::Spells::operator<<(), WorldPackets::Spells::operator<<(), WorldPackets::Traits::operator<<(), WorldPackets::Traits::operator<<(), WorldPackets::Transmogrification::operator<<(), WorldPackets::Query::operator<<(), WorldPackets::Query::operator<<(), WorldPackets::Query::operator<<(), WorldPackets::Query::operator<<(), WorldPackets::NPC::operator<<(), WorldPackets::Auth::operator<<(), WorldPackets::Character::operator<<(), WorldPackets::Who::operator<<(), WorldPackets::Who::operator<<(), WorldPackets::Achievement::CriteriaUpdate::Write(), WorldPackets::Achievement::AchievementEarned::Write(), WorldPackets::AdventureMap::PlayerIsAdventureMapPoiValid::Write(), WorldPackets::AreaTrigger::AreaTriggerDenied::Write(), WorldPackets::AuctionHouse::AuctionClosedNotification::Write(), WorldPackets::AuctionHouse::AuctionHelloResponse::Write(), WorldPackets::AuctionHouse::AuctionListBiddedItemsResult::Write(), WorldPackets::AuctionHouse::AuctionListBucketsResult::Write(), WorldPackets::AuctionHouse::AuctionFavoriteList::Write(), WorldPackets::AuctionHouse::AuctionListItemsResult::Write(), WorldPackets::AuctionHouse::AuctionListOwnedItemsResult::Write(), WorldPackets::Auth::AuthResponse::Write(), WorldPackets::Auth::EnterEncryptedMode::Write(), WorldPackets::Azerite::PlayerAzeriteItemEquippedStatusChanged::Write(), WorldPackets::Battleground::SeasonInfo::Write(), WorldPackets::Battleground::BattlefieldStatusActive::Write(), WorldPackets::Battleground::BattlefieldStatusQueued::Write(), WorldPackets::Battleground::BattlefieldList::Write(), WorldPackets::Battleground::PVPOptionsEnabled::Write(), WorldPackets::Battleground::PVPMatchInitialize::Write(), WorldPackets::Battleground::PVPMatchComplete::Write(), WorldPackets::Battlenet::ConnectionStatus::Write(), WorldPackets::BattlePet::BattlePetJournal::Write(), WorldPackets::BattlePet::BattlePetUpdates::Write(), WorldPackets::BattlePet::PetBattleSlotUpdates::Write(), WorldPackets::BattlePet::QueryBattlePetNameResponse::Write(), WorldPackets::Calendar::CalendarInviteAdded::Write(), WorldPackets::Calendar::CalendarSendEvent::Write(), WorldPackets::Calendar::CalendarInviteAlert::Write(), WorldPackets::Calendar::CalendarInviteStatus::Write(), WorldPackets::Calendar::CalendarInviteRemoved::Write(), WorldPackets::Calendar::CalendarModeratorStatus::Write(), WorldPackets::Calendar::CalendarEventUpdatedAlert::Write(), WorldPackets::Calendar::CalendarEventRemovedAlert::Write(), WorldPackets::Calendar::CalendarCommandResult::Write(), WorldPackets::Calendar::CalendarInviteNotesAlert::Write(), WorldPackets::Calendar::CalendarInviteNotes::Write(), WorldPackets::Channel::UserlistAdd::Write(), WorldPackets::Channel::UserlistRemove::Write(), WorldPackets::Channel::UserlistUpdate::Write(), WorldPackets::Character::CharacterRenameResult::Write(), WorldPackets::Character::CharCustomizeSuccess::Write(), WorldPackets::Character::CharFactionChangeResult::Write(), WorldPackets::Character::GenerateRandomCharacterNameResult::Write(), WorldPackets::Character::UndeleteCooldownStatusResponse::Write(), WorldPackets::Character::LogoutResponse::Write(), WorldPackets::Character::LogoutComplete::Write(), WorldPackets::Character::PlayedTime::Write(), WorldPackets::Chat::Chat::Write(), WorldPackets::Chat::PrintNotification::Write(), WorldPackets::Chat::ChatPlayerNotfound::Write(), WorldPackets::Chat::ChatServerMessage::Write(), WorldPackets::Chat::DefenseMessage::Write(), WorldPackets::Chat::UpdateAADCStatusResponse::Write(), WorldPackets::Collections::AccountItemCollectionData::Write(), WorldPackets::CombatLog::SpellInterruptLog::Write(), WorldPackets::CombatLog::SpellMissLog::Write(), WorldPackets::CombatLog::ProcResist::Write(), WorldPackets::CombatLog::SpellOrDamageImmune::Write(), WorldPackets::Combat::AttackSwingError::Write(), WorldPackets::Combat::SAttackStop::Write(), WorldPackets::Duel::CanDuelResult::Write(), WorldPackets::Duel::DuelComplete::Write(), WorldPackets::Duel::DuelRequested::Write(), WorldPackets::EquipmentSet::LoadEquipmentSet::Write(), WorldPackets::Garrison::GarrisonPlaceBuildingResult::Write(), WorldPackets::Guild::QueryGuildInfoResponse::Write(), WorldPackets::Guild::GuildRoster::Write(), WorldPackets::Guild::GuildCommandResult::Write(), WorldPackets::Guild::GuildInvite::Write(), WorldPackets::Guild::GuildEventStatusChange::Write(), WorldPackets::Guild::GuildEventPresenceChange::Write(), WorldPackets::Guild::GuildEventMotd::Write(), WorldPackets::Guild::GuildEventPlayerJoined::Write(), WorldPackets::Guild::GuildEventNewLeader::Write(), WorldPackets::Guild::GuildEventTabModified::Write(), WorldPackets::Guild::GuildSendRankChange::Write(), WorldPackets::Guild::GuildMemberUpdateNote::Write(), WorldPackets::Guild::GuildFlaggedForRename::Write(), WorldPackets::Guild::GuildPartyState::Write(), WorldPackets::Guild::GuildBankQueryResults::Write(), WorldPackets::Guild::GuildBankLogQueryResults::Write(), WorldPackets::Guild::GuildBankTextQueryResult::Write(), WorldPackets::Guild::GuildNameChanged::Write(), WorldPackets::Inspect::InspectResult::Write(), WorldPackets::Instance::InstanceResetFailed::Write(), WorldPackets::Instance::InstanceSaveCreated::Write(), WorldPackets::Instance::PendingRaidLock::Write(), WorldPackets::Instance::RaidInstanceMessage::Write(), WorldPackets::Instance::InstanceEncounterStart::Write(), WorldPackets::Item::ItemPurchaseRefundResult::Write(), WorldPackets::Item::ItemPushResult::Write(), WorldPackets::Item::ReadItemResultFailed::Write(), WorldPackets::LFG::LFGUpdateStatus::Write(), WorldPackets::LFG::RoleChosen::Write(), WorldPackets::LFG::LFGRoleCheckUpdate::Write(), WorldPackets::LFG::LFGProposalUpdate::Write(), WorldPackets::LFG::LFGTeleportDenied::Write(), WorldPackets::Loot::LootResponse::Write(), WorldPackets::Loot::LootMoneyNotify::Write(), WorldPackets::Loot::LootList::Write(), WorldPackets::Loot::LootRollBroadcast::Write(), WorldPackets::Loot::LootRollWon::Write(), WorldPackets::Misc::SetCurrency::Write(), WorldPackets::Misc::SetupCurrency::Write(), WorldPackets::Misc::WorldServerInfo::Write(), WorldPackets::Misc::RequestCemeteryListResponse::Write(), WorldPackets::Misc::Weather::Write(), WorldPackets::Misc::SetAnimTier::Write(), WorldPackets::Misc::StartMirrorTimer::Write(), WorldPackets::Misc::PauseMirrorTimer::Write(), WorldPackets::Misc::SetPlayHoverAnim::Write(), WorldPackets::Misc::AccountHeirloomUpdate::Write(), WorldPackets::Misc::DisplayGameError::Write(), WorldPackets::Misc::AccountMountUpdate::Write(), WorldPackets::Misc::StartTimer::Write(), WorldPackets::Misc::DisplayToast::Write(), WorldPackets::Misc::AccountWarbandSceneUpdate::Write(), WorldPackets::Movement::TransferPending::Write(), WorldPackets::Movement::TransferAborted::Write(), WorldPackets::Movement::MoveTeleport::Write(), WorldPackets::Movement::MoveUpdateTeleport::Write(), WorldPackets::Movement::ControlUpdate::Write(), WorldPackets::Movement::SummonRequest::Write(), WorldPackets::Movement::SuspendToken::Write(), WorldPackets::Movement::ResumeToken::Write(), WorldPackets::NPC::NPCInteractionOpenResult::Write(), WorldPackets::NPC::GossipMessage::Write(), WorldPackets::NPC::GossipOptionNPCInteraction::Write(), WorldPackets::NPC::GossipComplete::Write(), WorldPackets::NPC::TrainerList::Write(), WorldPackets::NPC::GossipPOI::Write(), WorldPackets::Party::GroupDecline::Write(), WorldPackets::Party::ReadyCheckResponse::Write(), WorldPackets::Party::PartyUpdate::Write(), WorldPackets::Party::RaidMarkersChanged::Write(), WorldPackets::Party::BroadcastSummonResponse::Write(), WorldPackets::Party::ReceivePingUnit::Write(), WorldPackets::Petition::QueryPetitionResponse::Write(), WorldPackets::Petition::PetitionSignResults::Write(), WorldPackets::Petition::TurnInPetitionResult::Write(), WorldPackets::Petition::PetitionRenameGuildResponse::Write(), WorldPackets::Pet::PetNameInvalid::Write(), WorldPackets::Pet::PetNewlyTamed::Write(), WorldPackets::Query::QueryCreatureResponse::Write(), WorldPackets::Query::QueryPageTextResponse::Write(), WorldPackets::Query::QueryNPCTextResponse::Write(), WorldPackets::Query::QueryGameObjectResponse::Write(), WorldPackets::Query::CorpseLocation::Write(), WorldPackets::Query::QueryPetNameResponse::Write(), WorldPackets::Query::QueryItemTextResponse::Write(), WorldPackets::Quest::QueryQuestInfoResponse::Write(), WorldPackets::Quest::QuestGiverOfferRewardMessage::Write(), WorldPackets::Quest::QuestGiverQuestDetails::Write(), WorldPackets::Quest::QuestGiverRequestItems::Write(), WorldPackets::Quest::QuestGiverQuestListMessage::Write(), WorldPackets::Quest::QuestUpdateComplete::Write(), WorldPackets::Quest::QuestConfirmAcceptResponse::Write(), WorldPackets::Quest::QuestPushResultResponse::Write(), WorldPackets::Quest::QuestGiverInvalidQuest::Write(), WorldPackets::Quest::DisplayPlayerChoice::Write(), WorldPackets::RaF::RecruitAFriendFailure::Write(), WorldPackets::Scenario::ScenarioState::Write(), WorldPackets::Scenario::ScenarioVacate::Write(), WorldPackets::Scenes::PlayScene::Write(), WorldPackets::Social::ContactList::Write(), WorldPackets::Social::FriendStatus::Write(), WorldPackets::Social::SocialContractRequestResponse::Write(), WorldPackets::Spells::LearnedSpells::Write(), WorldPackets::Spells::UnlearnedSpells::Write(), WorldPackets::Spells::CooldownEvent::Write(), WorldPackets::Spells::ClearCooldowns::Write(), WorldPackets::Spells::ClearCooldown::Write(), WorldPackets::Spells::ModifyCooldown::Write(), WorldPackets::Spells::ClearAllSpellCharges::Write(), WorldPackets::Spells::ClearSpellCharges::Write(), WorldPackets::Spells::SetSpellCharges::Write(), WorldPackets::Spells::UpdateChargeCategoryCooldown::Write(), WorldPackets::Spells::CancelSpellVisualKit::Write(), WorldPackets::Spells::PlayOrphanSpellVisual::Write(), WorldPackets::Spells::PlaySpellVisual::Write(), WorldPackets::Spells::PlaySpellVisualKit::Write(), WorldPackets::Spells::SpellChannelStart::Write(), WorldPackets::Spells::SpellEmpowerStart::Write(), WorldPackets::Spells::ResurrectRequest::Write(), WorldPackets::Spells::ApplyMountEquipmentResult::Write(), WorldPackets::Spells::MissileCancel::Write(), WorldPackets::System::FeatureSystemStatus::Write(), WorldPackets::System::FeatureSystemStatusGlueScreen::Write(), WorldPackets::System::MOTD::Write(), WorldPackets::System::SetTimeZoneInformation::Write(), WorldPackets::Talent::ActiveGlyphs::Write(), WorldPackets::Taxi::TaxiNodeStatus::Write(), WorldPackets::Taxi::ShowTaxiNodes::Write(), WorldPackets::Taxi::ActivateTaxiReply::Write(), WorldPackets::Ticket::GMTicketCaseStatus::Write(), WorldPackets::Totem::TotemCreated::Write(), WorldPackets::Toy::AccountToyUpdate::Write(), WorldPackets::Trade::TradeStatus::Write(), WorldPackets::Traits::TraitConfigCommitFailed::Write(), WorldPackets::Transmogrification::TransmogOutfitSituationsUpdated::Write(), WorldPackets::Who::WhoIsResponse::Write(), WorldPackets::WorldState::UpdateWorldState::Write(), UF::OverrideCurve::WriteCreate(), UF::VisualAnim::WriteCreate(), UF::AreaTriggerSplineCalculator::WriteCreate(), UF::AreaTriggerOrbit::WriteCreate(), UF::SelectedAzeriteEssences::WriteCreate(), UF::DecorStoragePersistedData::WriteCreate(), UF::ConversationActor::WriteCreate(), UF::ItemModList::WriteCreate(), UF::DecorPetInfo::WriteCreate(), UF::PetCreatureName::WriteCreate(), UF::LeaverInfo::WriteCreate(), UF::PVPInfo::WriteCreate(), UF::CharacterRestriction::WriteCreate(), UF::TraitSubTreeCache::WriteCreate(), UF::TraitConfig::WriteCreate(), UF::CraftingReagentBase::WriteCreate(), UF::CraftingOrderItem::WriteCreate(), UF::CraftingOrderData::WriteCreate(), UF::CraftingOrder::WriteCreate(), UF::StablePetInfo::WriteCreate(), UF::WalkInData::WriteCreate(), UF::DelveData::WriteCreate(), UF::TransmogOutfitDataInfo::WriteCreate(), UF::ChallengeModeData::WriteCreate(), UF::TransmogOutfitMetadata::WriteCreate(), UF::NeighborhoodCharter::WriteCreate(), UF::NeighborhoodOwnershipTransfer::WriteCreate(), UF::NICompletedInitiativesEntry::WriteCreate(), UF::VisibleItem::WriteCreate(), UF::UnitAssistActionData::WriteCreate(), UF::AreaTriggerData::WriteCreate(), UF::AzeriteItemData::WriteCreate(), UF::ConversationData::WriteCreate(), UF::GameObjectData::WriteCreate(), UF::MeshObjectData::WriteCreate(), UF::HousingDecorData::WriteCreate(), UF::PlayerData::WriteCreate(), UF::ActivePlayerData::WriteCreate(), UF::UnitData::WriteCreate(), WorldPackets::Movement::CommonMovement::WriteCreateObjectSplineDataBlock(), WorldPackets::Movement::CommonMovement::WriteMovementForceWithDirection(), UF::OverrideCurve::WriteUpdate(), UF::VisualAnim::WriteUpdate(), UF::AreaTriggerActionSetPeriodModifier::WriteUpdate(), UF::AreaTriggerSplineCalculator::WriteUpdate(), UF::AreaTriggerOrbit::WriteUpdate(), UF::AreaTriggerMovementScript::WriteUpdate(), UF::AreaTriggerSphere::WriteUpdate(), UF::AreaTriggerBox::WriteUpdate(), UF::AreaTriggerPolygon::WriteUpdate(), UF::AreaTriggerCylinder::WriteUpdate(), UF::AreaTriggerDisk::WriteUpdate(), UF::AreaTriggerBoundedPlane::WriteUpdate(), UF::SelectedAzeriteEssences::WriteUpdate(), UF::DecorStoragePersistedData::WriteUpdate(), UF::HousingDoorData::WriteUpdate(), UF::MirroredMeshObjectData::WriteUpdate(), UF::ItemEnchantment::WriteUpdate(), UF::ItemModList::WriteUpdate(), UF::SocketedGem::WriteUpdate(), UF::DecorPetInfo::WriteUpdate(), UF::QuestLog::WriteUpdate(), UF::ArenaCooldown::WriteUpdate(), UF::ZonePlayerForcedReaction::WriteUpdate(), UF::PetCreatureName::WriteUpdate(), UF::DeclinedNames::WriteUpdate(), UF::CustomTabardInfo::WriteUpdate(), UF::SkillInfo::WriteUpdate(), UF::BitVector::WriteUpdate(), UF::BitVectors::WriteUpdate(), UF::RestInfo::WriteUpdate(), UF::PVPInfo::WriteUpdate(), UF::CompletedProject::WriteUpdate(), UF::ResearchHistory::WriteUpdate(), UF::QuestSession::WriteUpdate(), UF::ReplayedQuest::WriteUpdate(), UF::LevelLinkInfo::WriteUpdate(), UF::TraitConfig::WriteUpdate(), UF::CraftingOrderItem::WriteUpdate(), UF::CraftingOrderCustomer::WriteUpdate(), UF::CraftingOrderNpcCustomer::WriteUpdate(), UF::CraftingOrderData::WriteUpdate(), UF::CraftingOrder::WriteUpdate(), UF::PersonalCraftingOrderCount::WriteUpdate(), UF::NPCCraftingOrderInfo::WriteUpdate(), UF::StablePetInfo::WriteUpdate(), UF::StableInfo::WriteUpdate(), UF::CollectableSourceTrackedData::WriteUpdate(), UF::BankTabSettings::WriteUpdate(), UF::TransmogOutfitDataInfo::WriteUpdate(), UF::TransmogOutfitSituationInfo::WriteUpdate(), UF::TransmogOutfitSlotData::WriteUpdate(), UF::TransmogOutfitData::WriteUpdate(), UF::PlayerInitiativeInfo::WriteUpdate(), UF::PlayerInitiativeTaskInfo::WriteUpdate(), UF::VisibleItem::WriteUpdate(), UF::UnitAssistActionData::WriteUpdate(), UF::AreaTriggerData::WriteUpdate(), UF::AzeriteEmpoweredItemData::WriteUpdate(), UF::AzeriteItemData::WriteUpdate(), UF::ContainerData::WriteUpdate(), UF::HousingRoomData::WriteUpdate(), UF::HousingPlayerHouseData::WriteUpdate(), UF::NeighborhoodMirrorData::WriteUpdate(), UF::MirroredPositionData::WriteUpdate(), UF::HousingStorageData::WriteUpdate(), UF::ConversationData::WriteUpdate(), UF::CorpseData::WriteUpdate(), UF::VendorData::WriteUpdate(), UF::DynamicObjectData::WriteUpdate(), UF::GameObjectData::WriteUpdate(), UF::HousingCornerstoneData::WriteUpdate(), UF::ItemData::WriteUpdate(), UF::ObjectData::WriteUpdate(), UF::SceneObjectData::WriteUpdate(), UF::MeshObjectData::WriteUpdate(), UF::HousingDecorData::WriteUpdate(), UF::HousingRoomComponentMeshData::WriteUpdate(), UF::HousingFixtureData::WriteUpdate(), UF::PlayerData::WriteUpdate(), UF::ActivePlayerData::WriteUpdate(), UF::PlayerHouseInfoComponentData::WriteUpdate(), UF::PlayerInitiativeComponentData::WriteUpdate(), and UF::UnitData::WriteUpdate().

◆ HasUnfinishedBitPack()

bool ByteBuffer::HasUnfinishedBitPack ( ) const
inline

◆ hexlike()

void ByteBuffer::hexlike ( ) const

◆ OnInvalidPosition()

void ByteBuffer::OnInvalidPosition ( size_t  pos,
size_t  valueSize 
) const

Definition at line 196 of file ByteBuffer.cpp.

References _storage.

◆ operator<<() [1/15]

ByteBuffer & ByteBuffer::operator<< ( bool  )
delete

◆ operator<<() [2/15]

ByteBuffer & ByteBuffer::operator<< ( char const *  str)
inline

Definition at line 364 of file ByteBuffer.h.

References operator<<().

◆ operator<<() [3/15]

ByteBuffer & ByteBuffer::operator<< ( char  value)
inline

Definition at line 283 of file ByteBuffer.h.

◆ operator<<() [4/15]

ByteBuffer & ByteBuffer::operator<< ( double  value)
inline

Definition at line 345 of file ByteBuffer.h.

◆ operator<<() [5/15]

ByteBuffer & ByteBuffer::operator<< ( float  value)
inline

Definition at line 339 of file ByteBuffer.h.

◆ operator<<() [6/15]

ByteBuffer & ByteBuffer::operator<< ( int16  value)
inline

Definition at line 320 of file ByteBuffer.h.

◆ operator<<() [7/15]

ByteBuffer & ByteBuffer::operator<< ( int32  value)
inline

Definition at line 326 of file ByteBuffer.h.

◆ operator<<() [8/15]

ByteBuffer & ByteBuffer::operator<< ( int64  value)
inline

Definition at line 332 of file ByteBuffer.h.

◆ operator<<() [9/15]

ByteBuffer & ByteBuffer::operator<< ( int8  value)
inline

Definition at line 314 of file ByteBuffer.h.

◆ operator<<() [10/15]

ByteBuffer & ByteBuffer::operator<< ( std::string const &  str)
inline

Definition at line 359 of file ByteBuffer.h.

References operator<<().

◆ operator<<() [11/15]

ByteBuffer & ByteBuffer::operator<< ( std::string_view  value)
inline

Definition at line 351 of file ByteBuffer.h.

◆ operator<<() [12/15]

ByteBuffer & ByteBuffer::operator<< ( uint16  value)
inline

Definition at line 295 of file ByteBuffer.h.

◆ operator<<() [13/15]

ByteBuffer & ByteBuffer::operator<< ( uint32  value)
inline

Definition at line 301 of file ByteBuffer.h.

◆ operator<<() [14/15]

ByteBuffer & ByteBuffer::operator<< ( uint64  value)
inline

Definition at line 307 of file ByteBuffer.h.

◆ operator<<() [15/15]

ByteBuffer & ByteBuffer::operator<< ( uint8  value)
inline

Definition at line 289 of file ByteBuffer.h.

◆ operator=() [1/2]

ByteBuffer & ByteBuffer::operator= ( ByteBuffer &&  right)
inlinenoexcept

Definition at line 105 of file ByteBuffer.h.

References _rpos.

◆ operator=() [2/2]

ByteBuffer & ByteBuffer::operator= ( ByteBuffer const &  right)
default

◆ operator>>() [1/13]

ByteBuffer & ByteBuffer::operator>> ( bool &  )
delete

◆ operator>>() [2/13]

ByteBuffer & ByteBuffer::operator>> ( char &  value)
inline

Definition at line 371 of file ByteBuffer.h.

◆ operator>>() [3/13]

ByteBuffer & ByteBuffer::operator>> ( double &  value)

Definition at line 44 of file ByteBuffer.cpp.

References read().

◆ operator>>() [4/13]

ByteBuffer & ByteBuffer::operator>> ( float &  value)

Definition at line 36 of file ByteBuffer.cpp.

References read().

◆ operator>>() [5/13]

ByteBuffer & ByteBuffer::operator>> ( int16 &  value)
inline

Definition at line 408 of file ByteBuffer.h.

◆ operator>>() [6/13]

ByteBuffer & ByteBuffer::operator>> ( int32 &  value)
inline

Definition at line 414 of file ByteBuffer.h.

◆ operator>>() [7/13]

ByteBuffer & ByteBuffer::operator>> ( int64 &  value)
inline

Definition at line 420 of file ByteBuffer.h.

◆ operator>>() [8/13]

ByteBuffer & ByteBuffer::operator>> ( int8 &  value)
inline

Definition at line 402 of file ByteBuffer.h.

◆ operator>>() [9/13]

ByteBuffer & ByteBuffer::operator>> ( std::string &  value)
inline

Definition at line 429 of file ByteBuffer.h.

◆ operator>>() [10/13]

ByteBuffer & ByteBuffer::operator>> ( uint16 &  value)
inline

Definition at line 383 of file ByteBuffer.h.

◆ operator>>() [11/13]

ByteBuffer & ByteBuffer::operator>> ( uint32 &  value)
inline

Definition at line 389 of file ByteBuffer.h.

◆ operator>>() [12/13]

ByteBuffer & ByteBuffer::operator>> ( uint64 &  value)
inline

Definition at line 395 of file ByteBuffer.h.

◆ operator>>() [13/13]

ByteBuffer & ByteBuffer::operator>> ( uint8 &  value)
inline

Definition at line 377 of file ByteBuffer.h.

◆ operator[]() [1/2]

uint8 & ByteBuffer::operator[] ( size_t const  pos)
inline

Definition at line 435 of file ByteBuffer.h.

◆ operator[]() [2/2]

uint8 const & ByteBuffer::operator[] ( size_t const  pos) const
inline

Definition at line 442 of file ByteBuffer.h.

◆ print_storage()

void ByteBuffer::print_storage ( ) const

Definition at line 140 of file ByteBuffer.cpp.

References _storage, LOG_LEVEL_TRACE, size(), sLog, and TC_LOG_TRACE.

Referenced by WorldSession::LogUnprocessedTail().

◆ put() [1/2]

void ByteBuffer::put ( size_t  pos,
uint8 const *  src,
size_t  cnt 
)

Definition at line 115 of file ByteBuffer.cpp.

References _storage, ASSERT, size(), and SZFMTD.

◆ put() [2/2]

◆ PutBits()

void ByteBuffer::PutBits ( std::size_t  pos,
std::size_t  value,
uint32  bitCount 
)

Definition at line 124 of file ByteBuffer.cpp.

References _storage, ASSERT, size(), and SZFMTD.

◆ read() [1/5]

◆ read() [2/5]

template<ByteBufferNumeric T>
T ByteBuffer::read ( size_t  pos) const
inline

Definition at line 502 of file ByteBuffer.h.

References EndianConvert().

◆ read() [3/5]

template<ByteBufferNumeric T, size_t Size>
void ByteBuffer::read ( std::array< T, Size > &  arr)
inline

Definition at line 535 of file ByteBuffer.h.

◆ read() [4/5]

template<ByteBufferNumeric T>
void ByteBuffer::read ( T *  dest,
size_t  count 
)
inline

Definition at line 514 of file ByteBuffer.h.

References EndianConvert().

◆ read() [5/5]

void ByteBuffer::read ( uint8 *  dest,
size_t  len 
)
inline

Definition at line 524 of file ByteBuffer.h.

◆ read_skip() [1/2]

template<ByteBufferNumeric T>
void ByteBuffer::read_skip ( )
inline

Definition at line 481 of file ByteBuffer.h.

References read_skip().

Referenced by read_skip().

◆ read_skip() [2/2]

void ByteBuffer::read_skip ( size_t  skip)
inline

Definition at line 483 of file ByteBuffer.h.

◆ ReadBit()

bool ByteBuffer::ReadBit ( )
inline

Definition at line 175 of file ByteBuffer.h.

Referenced by operator>>(), operator>>(), and WorldPackets::Misc::SaveCUFProfiles::Read().

◆ ReadBits()

uint32 ByteBuffer::ReadBits ( int32  bits)
inline

Definition at line 225 of file ByteBuffer.h.

References UI64LIT.

◆ ReadBytes()

std::span< uint8 > ByteBuffer::ReadBytes ( size_t  length)
inline

Definition at line 566 of file ByteBuffer.h.

◆ ReadCString()

std::string_view ByteBuffer::ReadCString ( bool  requireValidUtf8 = true)

Definition at line 52 of file ByteBuffer.cpp.

References _rpos, _storage, ResetBitPos(), and size().

◆ ReadSkipCString()

void ByteBuffer::ReadSkipCString ( bool  requireValidUtf8 = true)
inline

Definition at line 560 of file ByteBuffer.h.

◆ ReadString()

std::string_view ByteBuffer::ReadString ( uint32  length,
bool  requireValidUtf8 = true 
)

Definition at line 72 of file ByteBuffer.cpp.

References _rpos, _storage, ResetBitPos(), and size().

Referenced by WorldSocketProtocolInitializer::HandleDataReady().

◆ Release()

std::vector< uint8 > && ByteBuffer::Release ( ) &&
inlinenoexcept

Definition at line 94 of file ByteBuffer.h.

◆ reserve()

◆ ResetBitPos()

◆ resize()

void ByteBuffer::resize ( size_t  newsize)
inline

◆ rfinish()

void ByteBuffer::rfinish ( )
inline

Definition at line 457 of file ByteBuffer.h.

Referenced by WorldPackets::Null::Read().

◆ rpos() [1/2]

size_t ByteBuffer::rpos ( ) const
inline

◆ rpos() [2/2]

size_t ByteBuffer::rpos ( size_t  rpos_)
inline

Definition at line 451 of file ByteBuffer.h.

◆ shrink_to_fit()

void ByteBuffer::shrink_to_fit ( )
inline

Definition at line 596 of file ByteBuffer.h.

Referenced by QuestPOIData::InitializeQueryData().

◆ size()

◆ textlike()

void ByteBuffer::textlike ( ) const

Definition at line 153 of file ByteBuffer.cpp.

References _storage, LOG_LEVEL_TRACE, size(), and sLog.

◆ wpos() [1/2]

◆ wpos() [2/2]

size_t ByteBuffer::wpos ( size_t  wpos_)
inline

Definition at line 464 of file ByteBuffer.h.

◆ WriteBit()

bool ByteBuffer::WriteBit ( bool  bit)
inline

Definition at line 159 of file ByteBuffer.h.

Referenced by BaseEntity::BuildMovementUpdate(), UpdateData::BuildPacket(), WorldPackets::Misc::LoadCUFProfiles::Write(), UF::OverrideCurve::WriteCreate(), UF::VisualAnim::WriteCreate(), UF::AreaTriggerSplineCalculator::WriteCreate(), UF::AreaTriggerOrbit::WriteCreate(), UF::SelectedAzeriteEssences::WriteCreate(), UF::DecorStoragePersistedData::WriteCreate(), UF::LeaverInfo::WriteCreate(), UF::PVPInfo::WriteCreate(), UF::CraftingReagentBase::WriteCreate(), UF::CraftingOrderItem::WriteCreate(), UF::CraftingOrderData::WriteCreate(), UF::CraftingOrder::WriteCreate(), UF::TransmogOutfitDataInfo::WriteCreate(), UF::TransmogOutfitMetadata::WriteCreate(), UF::NICompletedInitiativesEntry::WriteCreate(), UF::VisibleItem::WriteCreate(), UF::AreaTriggerData::WriteCreate(), UF::AzeriteItemData::WriteCreate(), UF::ConversationData::WriteCreate(), UF::GameObjectData::WriteCreate(), UF::MeshObjectData::WriteCreate(), UF::HousingDecorData::WriteCreate(), UF::PlayerData::WriteCreate(), UF::ActivePlayerData::WriteCreate(), UF::UnitData::WriteCreate(), WorldPackets::CombatLog::CombatLogServerPacket::WriteLogDataBit(), UF::OverrideCurve::WriteUpdate(), UF::VisualAnim::WriteUpdate(), UF::AreaTriggerSplineCalculator::WriteUpdate(), UF::AreaTriggerOrbit::WriteUpdate(), UF::SelectedAzeriteEssences::WriteUpdate(), UF::DecorStoragePersistedData::WriteUpdate(), UF::PVPInfo::WriteUpdate(), UF::CraftingOrderItem::WriteUpdate(), UF::CraftingOrderData::WriteUpdate(), UF::CraftingOrder::WriteUpdate(), UF::TransmogOutfitDataInfo::WriteUpdate(), UF::VisibleItem::WriteUpdate(), UF::AreaTriggerData::WriteUpdate(), UF::AzeriteItemData::WriteUpdate(), UF::ConversationData::WriteUpdate(), UF::GameObjectData::WriteUpdate(), UF::MeshObjectData::WriteUpdate(), UF::HousingDecorData::WriteUpdate(), UF::PlayerData::WriteUpdate(), UF::ActivePlayerData::WriteUpdate(), and UF::UnitData::WriteUpdate().

◆ WriteBits()

void ByteBuffer::WriteBits ( uint64  value,
int32  bits 
)
inline

Definition at line 186 of file ByteBuffer.h.

References UI64LIT.

Referenced by UF::WriteCompleteDynamicFieldUpdateMask(), UF::AreaTriggerSplineCalculator::WriteCreate(), UF::DecorStoragePersistedData::WriteCreate(), UF::ConversationActor::WriteCreate(), UF::GameObjectAssistActionData::WriteCreate(), UF::ItemModList::WriteCreate(), UF::DecorPetInfo::WriteCreate(), UF::PetCreatureName::WriteCreate(), UF::DeclinedNames::WriteCreate(), UF::CharacterRestriction::WriteCreate(), UF::DiscordPlayerInfo::WriteCreate(), UF::TraitSubTreeCache::WriteCreate(), UF::TraitConfig::WriteCreate(), UF::CraftingOrderData::WriteCreate(), UF::CraftingOrder::WriteCreate(), UF::StablePetInfo::WriteCreate(), UF::BankTabSettings::WriteCreate(), UF::WalkInData::WriteCreate(), UF::DelveData::WriteCreate(), UF::TransmogOutfitDataInfo::WriteCreate(), UF::ChallengeModeData::WriteCreate(), UF::NeighborhoodCharter::WriteCreate(), UF::NeighborhoodOwnershipTransfer::WriteCreate(), UF::UnitAssistActionData::WriteCreate(), UF::NeighborhoodMirrorData::WriteCreate(), UF::PlayerData::WriteCreate(), UF::ActivePlayerData::WriteCreate(), UF::WriteDynamicFieldUpdateMask(), UF::OverrideCurve::WriteUpdate(), UF::VisualAnim::WriteUpdate(), UF::AreaTriggerActionSetPeriodModifier::WriteUpdate(), UF::AreaTriggerSplineCalculator::WriteUpdate(), UF::AreaTriggerOrbit::WriteUpdate(), UF::AreaTriggerMovementScript::WriteUpdate(), UF::AreaTriggerSphere::WriteUpdate(), UF::AreaTriggerBox::WriteUpdate(), UF::AreaTriggerPolygon::WriteUpdate(), UF::AreaTriggerCylinder::WriteUpdate(), UF::AreaTriggerDisk::WriteUpdate(), UF::AreaTriggerBoundedPlane::WriteUpdate(), UF::SelectedAzeriteEssences::WriteUpdate(), UF::DecorStoragePersistedData::WriteUpdate(), UF::HousingDoorData::WriteUpdate(), UF::MirroredMeshObjectData::WriteUpdate(), UF::ItemEnchantment::WriteUpdate(), UF::ItemModList::WriteUpdate(), UF::SocketedGem::WriteUpdate(), UF::DecorPetInfo::WriteUpdate(), UF::QuestLog::WriteUpdate(), UF::ArenaCooldown::WriteUpdate(), UF::ZonePlayerForcedReaction::WriteUpdate(), UF::PetCreatureName::WriteUpdate(), UF::DeclinedNames::WriteUpdate(), UF::CustomTabardInfo::WriteUpdate(), UF::SkillInfo::WriteUpdate(), UF::BitVector::WriteUpdate(), UF::BitVectors::WriteUpdate(), UF::RestInfo::WriteUpdate(), UF::PVPInfo::WriteUpdate(), UF::CompletedProject::WriteUpdate(), UF::ResearchHistory::WriteUpdate(), UF::QuestSession::WriteUpdate(), UF::ReplayedQuest::WriteUpdate(), UF::LevelLinkInfo::WriteUpdate(), UF::TraitConfig::WriteUpdate(), UF::CraftingOrderItem::WriteUpdate(), UF::CraftingOrderCustomer::WriteUpdate(), UF::CraftingOrderNpcCustomer::WriteUpdate(), UF::CraftingOrderData::WriteUpdate(), UF::CraftingOrder::WriteUpdate(), UF::PersonalCraftingOrderCount::WriteUpdate(), UF::NPCCraftingOrderInfo::WriteUpdate(), UF::StablePetInfo::WriteUpdate(), UF::StableInfo::WriteUpdate(), UF::CollectableSourceTrackedData::WriteUpdate(), UF::BankTabSettings::WriteUpdate(), UF::TransmogOutfitDataInfo::WriteUpdate(), UF::TransmogOutfitSituationInfo::WriteUpdate(), UF::TransmogOutfitSlotData::WriteUpdate(), UF::TransmogOutfitData::WriteUpdate(), UF::PlayerInitiativeInfo::WriteUpdate(), UF::PlayerInitiativeTaskInfo::WriteUpdate(), UF::VisibleItem::WriteUpdate(), UF::UnitAssistActionData::WriteUpdate(), UF::AreaTriggerData::WriteUpdate(), UF::AzeriteEmpoweredItemData::WriteUpdate(), UF::AzeriteItemData::WriteUpdate(), UF::ContainerData::WriteUpdate(), UF::HousingRoomData::WriteUpdate(), UF::HousingPlayerHouseData::WriteUpdate(), UF::NeighborhoodMirrorData::WriteUpdate(), UF::MirroredPositionData::WriteUpdate(), UF::HousingStorageData::WriteUpdate(), UF::ConversationData::WriteUpdate(), UF::CorpseData::WriteUpdate(), UF::VendorData::WriteUpdate(), UF::DynamicObjectData::WriteUpdate(), UF::GameObjectData::WriteUpdate(), UF::HousingCornerstoneData::WriteUpdate(), UF::ItemData::WriteUpdate(), UF::ObjectData::WriteUpdate(), UF::SceneObjectData::WriteUpdate(), UF::MeshObjectData::WriteUpdate(), UF::HousingDecorData::WriteUpdate(), UF::HousingRoomComponentMeshData::WriteUpdate(), UF::HousingFixtureData::WriteUpdate(), UF::PlayerData::WriteUpdate(), UF::ActivePlayerData::WriteUpdate(), UF::PlayerHouseInfoComponentData::WriteUpdate(), UF::PlayerInitiativeComponentData::WriteUpdate(), and UF::UnitData::WriteUpdate().

◆ WriteString() [1/3]

void ByteBuffer::WriteString ( char const *  str,
size_t  len 
)
inline

Definition at line 554 of file ByteBuffer.h.

◆ WriteString() [2/3]

void ByteBuffer::WriteString ( std::string const &  str)
inline

Method for writing strings that have their length sent separately in packet without null-terminating the string

Definition at line 542 of file ByteBuffer.h.

◆ WriteString() [3/3]

void ByteBuffer::WriteString ( std::string_view  str)
inline

Definition at line 548 of file ByteBuffer.h.

Member Data Documentation

◆ _bitpos

uint8 ByteBuffer::_bitpos
protected

Definition at line 638 of file ByteBuffer.h.

◆ _curbitval

uint8 ByteBuffer::_curbitval
protected

Definition at line 639 of file ByteBuffer.h.

◆ _rpos

size_t ByteBuffer::_rpos
protected

Definition at line 637 of file ByteBuffer.h.

Referenced by operator=(), ReadCString(), and ReadString().

◆ _storage

std::vector<uint8> ByteBuffer::_storage
protected

◆ _wpos

size_t ByteBuffer::_wpos
protected

Definition at line 637 of file ByteBuffer.h.

Referenced by append().

◆ DEFAULT_SIZE

constexpr size_t ByteBuffer::DEFAULT_SIZE = 0x1000
staticconstexpr

Definition at line 66 of file ByteBuffer.h.

◆ InitialBitPos

constexpr uint8 ByteBuffer::InitialBitPos = 8
staticconstexpr

Definition at line 67 of file ByteBuffer.h.


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