TrinityCore
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
 
Arrayoperator= (Array const &other)
 
Arrayoperator= (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 137 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 140 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 141 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 154 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 150 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 152 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 153 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 145 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 149 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 151 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 148 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 143 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 147 of file PacketUtilities.h.

Constructor & Destructor Documentation

◆ Array() [1/3]

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

Definition at line 156 of file PacketUtilities.h.

◆ Array() [2/3]

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

Definition at line 158 of file PacketUtilities.h.

◆ 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

Definition at line 180 of file PacketUtilities.h.

+ Here is the caller graph for this function:

◆ begin() [2/2]

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

Definition at line 181 of file PacketUtilities.h.

◆ clear()

template<typename T , std::size_t N>
void WorldPackets::Array< T, N >::clear ( )
inline

Definition at line 231 of file PacketUtilities.h.

◆ data() [1/2]

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

Definition at line 186 of file PacketUtilities.h.

+ Here is the caller graph for this function:

◆ data() [2/2]

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

Definition at line 187 of file PacketUtilities.h.

◆ emplace_back()

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

Definition at line 220 of file PacketUtilities.h.

◆ empty()

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

Definition at line 190 of file PacketUtilities.h.

+ Here is the caller graph for this function:

◆ end() [1/2]

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

Definition at line 183 of file PacketUtilities.h.

+ Here is the caller graph for this function:

◆ end() [2/2]

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

Definition at line 184 of file PacketUtilities.h.

◆ erase()

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

Definition at line 226 of file PacketUtilities.h.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

Definition at line 166 of file PacketUtilities.h.

◆ operator[]() [1/2]

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

Definition at line 192 of file PacketUtilities.h.

◆ operator[]() [2/2]

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

Definition at line 193 of file PacketUtilities.h.

◆ 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 211 of file PacketUtilities.h.

◆ push_back() [2/2]

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

Definition at line 203 of file PacketUtilities.h.

◆ resize()

template<typename T , std::size_t N>
void WorldPackets::Array< T, N >::resize ( size_type  newSize)
inline

Definition at line 195 of file PacketUtilities.h.

+ Here is the caller graph for this function:

◆ size()

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

Definition at line 189 of file PacketUtilities.h.

+ Here is the caller graph for this function:

Member Data Documentation

◆ _data

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

Definition at line 237 of file PacketUtilities.h.

◆ _storage

template<typename T , std::size_t N>
storage_type WorldPackets::Array< T, N >::_storage
private

Definition at line 238 of file PacketUtilities.h.


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