TrinityCore
Loading...
Searching...
No Matches
WorldPackets::String< MaxBytesWithoutNullTerminator, Validators > Class Template Reference

#include <PacketUtilities.h>

Public Member Functions

bool empty () const
 
char constc_str () const
 
 operator std::string_view () const
 
 operator std::string & ()
 
 operator std::string const & () const
 
std::string && Move ()
 

Private Types

using ValidatorList = std::conditional_t<!Trinity::has_type< Strings::RawBytes, std::tuple< Validators... > >::value, std::tuple< Strings::ByteSize< MaxBytesWithoutNullTerminator >, Strings::Utf8, Validators... >, std::tuple< Strings::ByteSize< MaxBytesWithoutNullTerminator >, Validators... > >
 

Private Member Functions

bool Validate () const
 
template<std::size_t... indexes>
bool ValidateNth (std::index_sequence< indexes... >) const
 

Private Attributes

std::string _storage
 

Friends

ByteBufferoperator>> (ByteBuffer &data, String &value)
 

Detailed Description

template<std::size_t MaxBytesWithoutNullTerminator, typename... Validators>
class WorldPackets::String< MaxBytesWithoutNullTerminator, Validators >

Utility class for automated prevention of invalid strings in client packets

Definition at line 71 of file PacketUtilities.h.

Member Typedef Documentation

◆ ValidatorList

template<std::size_t MaxBytesWithoutNullTerminator, typename... Validators>
using WorldPackets::String< MaxBytesWithoutNullTerminator, Validators >::ValidatorList = std::conditional_t<!Trinity::has_type<Strings::RawBytes, std::tuple<Validators...> >::value, std::tuple<Strings::ByteSize<MaxBytesWithoutNullTerminator>, Strings::Utf8, Validators...>, std::tuple<Strings::ByteSize<MaxBytesWithoutNullTerminator>, Validators...> >
private

Definition at line 73 of file PacketUtilities.h.

Member Function Documentation

◆ c_str()

template<std::size_t MaxBytesWithoutNullTerminator, typename... Validators>
char const * WorldPackets::String< MaxBytesWithoutNullTerminator, Validators >::c_str ( ) const
inline

Definition at line 79 of file PacketUtilities.h.

◆ empty()

template<std::size_t MaxBytesWithoutNullTerminator, typename... Validators>
bool WorldPackets::String< MaxBytesWithoutNullTerminator, Validators >::empty ( ) const
inline

Definition at line 78 of file PacketUtilities.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Move()

template<std::size_t MaxBytesWithoutNullTerminator, typename... Validators>
std::string && WorldPackets::String< MaxBytesWithoutNullTerminator, Validators >::Move ( )
inline

Definition at line 85 of file PacketUtilities.h.

◆ operator std::string &()

template<std::size_t MaxBytesWithoutNullTerminator, typename... Validators>
WorldPackets::String< MaxBytesWithoutNullTerminator, Validators >::operator std::string & ( )
inline

Definition at line 82 of file PacketUtilities.h.

◆ operator std::string const &()

template<std::size_t MaxBytesWithoutNullTerminator, typename... Validators>
WorldPackets::String< MaxBytesWithoutNullTerminator, Validators >::operator std::string const & ( ) const
inline

Definition at line 83 of file PacketUtilities.h.

◆ operator std::string_view()

template<std::size_t MaxBytesWithoutNullTerminator, typename... Validators>
WorldPackets::String< MaxBytesWithoutNullTerminator, Validators >::operator std::string_view ( ) const
inline

Definition at line 81 of file PacketUtilities.h.

◆ Validate()

template<std::size_t MaxBytesWithoutNullTerminator, typename... Validators>
bool WorldPackets::String< MaxBytesWithoutNullTerminator, Validators >::Validate ( ) const
inlineprivate

Definition at line 95 of file PacketUtilities.h.

+ Here is the call graph for this function:

◆ ValidateNth()

template<std::size_t MaxBytesWithoutNullTerminator, typename... Validators>
template<std::size_t... indexes>
bool WorldPackets::String< MaxBytesWithoutNullTerminator, Validators >::ValidateNth ( std::index_sequence< indexes... >  ) const
inlineprivate

Definition at line 101 of file PacketUtilities.h.

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ operator>>

template<std::size_t MaxBytesWithoutNullTerminator, typename... Validators>
ByteBuffer & operator>> ( ByteBuffer data,
String< MaxBytesWithoutNullTerminator, Validators > &  value 
)
friend

Definition at line 87 of file PacketUtilities.h.

Member Data Documentation

◆ _storage

template<std::size_t MaxBytesWithoutNullTerminator, typename... Validators>
std::string WorldPackets::String< MaxBytesWithoutNullTerminator, Validators >::_storage
private

Definition at line 106 of file PacketUtilities.h.


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