TrinityCore
Loading...
Searching...
No Matches
WorldPackets::Array< T, N > Class Template Reference

#include <PacketUtilities.h>

Public Types

using allocator_type = short_alloc::short_alloc< T,(N *sizeof(T)+(alignof(std::max_align_t) - 1)) &~(alignof(std::max_align_t) - 1)>
 
using arena_type = typename allocator_type::arena_type
 
using storage_type = std::vector< T, allocator_type >
 
using max_capacity = std::integral_constant< std::size_t, N >
 
using value_type = typename storage_type::value_type
 
using size_type = typename storage_type::size_type
 
using pointer = typename storage_type::pointer
 
using const_pointer = typename storage_type::const_pointer
 
using reference = typename storage_type::reference
 
using const_reference = typename storage_type::const_reference
 
using iterator = typename storage_type::iterator
 
using const_iterator = typename storage_type::const_iterator
 

Public Member Functions

 Array ()
 
 Array (Array const &other)
 
 Array (Array &&other) noexcept=delete
 
Array & operator= (Array const &other)
 
Array & operator= (Array &&other) noexcept=delete
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
pointer data ()
 
const_pointer data () const
 
size_type size () const
 
bool empty () const
 
reference operator[] (size_type i)
 
const_reference operator[] (size_type i) const
 
void resize (size_type newSize)
 
void push_back (value_type const &value)
 
void push_back (value_type &&value)
 
template<typename... Args>
T & emplace_back (Args &&... args)
 
iterator erase (const_iterator first, const_iterator last)
 
void clear ()
 

Private Attributes

arena_type _data
 
storage_type _storage
 

Detailed Description

template<typename T, std::size_t N>
class WorldPackets::Array< T, N >

Utility class for automated prevention of loop counter spoofing in client packets

Definition at line 119 of file PacketUtilities.h.

Member Typedef Documentation

◆ allocator_type

template<typename T , std::size_t N>
using WorldPackets::Array< T, N >::allocator_type = short_alloc::short_alloc<T, (N * sizeof(T) + (alignof(std::max_align_t) - 1)) & ~(alignof(std::max_align_t) - 1)>

Definition at line 122 of file PacketUtilities.h.

◆ arena_type

template<typename T , std::size_t N>
using WorldPackets::Array< T, N >::arena_type = typename allocator_type::arena_type

Definition at line 123 of file PacketUtilities.h.

◆ const_iterator

template<typename T , std::size_t N>
using WorldPackets::Array< T, N >::const_iterator = typename storage_type::const_iterator

Definition at line 136 of file PacketUtilities.h.

◆ const_pointer

template<typename T , std::size_t N>
using WorldPackets::Array< T, N >::const_pointer = typename storage_type::const_pointer

Definition at line 132 of file PacketUtilities.h.

◆ const_reference

template<typename T , std::size_t N>
using WorldPackets::Array< T, N >::const_reference = typename storage_type::const_reference

Definition at line 134 of file PacketUtilities.h.

◆ iterator

template<typename T , std::size_t N>
using WorldPackets::Array< T, N >::iterator = typename storage_type::iterator

Definition at line 135 of file PacketUtilities.h.

◆ max_capacity

template<typename T , std::size_t N>
using WorldPackets::Array< T, N >::max_capacity = std::integral_constant<std::size_t, N>

Definition at line 127 of file PacketUtilities.h.

◆ pointer

template<typename T , std::size_t N>
using WorldPackets::Array< T, N >::pointer = typename storage_type::pointer

Definition at line 131 of file PacketUtilities.h.

◆ reference

template<typename T , std::size_t N>
using WorldPackets::Array< T, N >::reference = typename storage_type::reference

Definition at line 133 of file PacketUtilities.h.

◆ size_type

template<typename T , std::size_t N>
using WorldPackets::Array< T, N >::size_type = typename storage_type::size_type

Definition at line 130 of file PacketUtilities.h.

◆ storage_type

template<typename T , std::size_t N>
using WorldPackets::Array< T, N >::storage_type = std::vector<T, allocator_type>

Definition at line 125 of file PacketUtilities.h.

◆ value_type

template<typename T , std::size_t N>
using WorldPackets::Array< T, N >::value_type = typename storage_type::value_type

Definition at line 129 of file PacketUtilities.h.

Constructor & Destructor Documentation

◆ Array() [1/3]

◆ Array() [2/3]

template<typename T , std::size_t N>
WorldPackets::Array< T, N >::Array ( Array< T, N > const &  other)
inline

◆ Array() [3/3]

template<typename T , std::size_t N>
WorldPackets::Array< T, N >::Array ( Array< T, N > &&  other)
deletenoexcept

Member Function Documentation

◆ begin() [1/2]

template<typename T , std::size_t N>
iterator WorldPackets::Array< T, N >::begin ( )
inline

◆ begin() [2/2]

template<typename T , std::size_t N>
const_iterator WorldPackets::Array< T, N >::begin ( ) const
inline

Definition at line 163 of file PacketUtilities.h.

References WorldPackets::Array< T, N >::_storage.

◆ clear()

◆ data() [1/2]

◆ data() [2/2]

template<typename T , std::size_t N>
const_pointer WorldPackets::Array< T, N >::data ( ) const
inline

Definition at line 169 of file PacketUtilities.h.

References WorldPackets::Array< T, N >::_storage.

◆ emplace_back()

template<typename T , std::size_t N>
template<typename... Args>
T & WorldPackets::Array< T, N >::emplace_back ( Args &&...  args)
inline

◆ empty()

◆ end() [1/2]

template<typename T , std::size_t N>
iterator WorldPackets::Array< T, N >::end ( )
inline

Definition at line 165 of file PacketUtilities.h.

References WorldPackets::Array< T, N >::_storage.

Referenced by WorldSession::HandleWhoOpcode().

◆ end() [2/2]

template<typename T , std::size_t N>
const_iterator WorldPackets::Array< T, N >::end ( ) const
inline

Definition at line 166 of file PacketUtilities.h.

References WorldPackets::Array< T, N >::_storage.

◆ erase()

template<typename T , std::size_t N>
iterator WorldPackets::Array< T, N >::erase ( const_iterator  first,
const_iterator  last 
)
inline

Definition at line 208 of file PacketUtilities.h.

References WorldPackets::Array< T, N >::_storage.

◆ operator=() [1/2]

template<typename T , std::size_t N>
Array & WorldPackets::Array< T, N >::operator= ( Array< T, N > &&  other)
deletenoexcept

◆ operator=() [2/2]

◆ operator[]() [1/2]

template<typename T , std::size_t N>
reference WorldPackets::Array< T, N >::operator[] ( size_type  i)
inline

◆ operator[]() [2/2]

template<typename T , std::size_t N>
const_reference WorldPackets::Array< T, N >::operator[] ( size_type  i) const
inline

◆ push_back() [1/2]

template<typename T , std::size_t N>
void WorldPackets::Array< T, N >::push_back ( value_type &&  value)
inline

Definition at line 193 of file PacketUtilities.h.

References WorldPackets::Array< T, N >::_storage.

◆ push_back() [2/2]

◆ resize()

◆ size()

Member Data Documentation

◆ _data

template<typename T , std::size_t N>
arena_type WorldPackets::Array< T, N >::_data
private

Definition at line 219 of file PacketUtilities.h.

◆ _storage


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