TrinityCore
Loading...
Searching...
No Matches
UpdateField.h File Reference
#include "Concepts.h"
#include "ObjectGuid.h"
#include "Optional.h"
#include "UpdateMask.h"
#include <algorithm>
#include <memory>
#include <unordered_map>
#include <variant>
#include <vector>
+ Include dependency graph for UpdateField.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  UF::IsUpdateFieldStructureTag
 
struct  UF::HasChangesMaskTag
 
struct  UF::IsUpdateFieldHolderTag
 
struct  UF::UpdateFieldPrivateSetter< T >
 
struct  UF::UpdateFieldPublicSetter< T >
 
struct  UF::DynamicUpdateFieldSetter< T >
 
struct  UF::MapUpdateFieldSetter< K, V >
 
struct  UF::SetUpdateFieldSetter< T >
 
struct  UF::OptionalUpdateFieldSetter< T >
 
struct  UF::MutableFieldReferenceWithChangesMask< T, PublicSet >
 
struct  UF::MutableFieldReferenceNoChangesMask< T, PublicSet >
 
struct  UF::MutableNestedFieldReference< T, PublicSet >
 
class  UF::HasChangesMask< Bits >
 
class  UF::UpdateFieldBase< T >
 
class  UF::UpdateField< T, BlockBit, Bit >
 
class  UF::UpdateFieldArrayBaseWithoutSize< T >
 
class  UF::UpdateFieldArrayBase< T, Size >
 
class  UF::UpdateFieldArray< T, Size, Bit, FirstElementBit >
 
class  UF::DynamicUpdateFieldBase< T >
 
class  UF::DynamicUpdateField< T, BlockBit, Bit >
 
class  UF::MapUpdateFieldBase< K, V >
 
struct  UF::MapUpdateFieldBase< K, V >::Value
 
class  UF::MapUpdateField< K, V, BlockBit, Bit >
 
class  UF::SetUpdateFieldBase< T >
 
class  UF::SetUpdateField< T, BlockBit, Bit >
 
class  UF::OptionalUpdateFieldBase< T >
 
class  UF::OptionalUpdateField< T, BlockBit, Bit >
 
class  UF::VariantUpdateFieldBase< Types >
 
class  UF::VariantUpdateField< BlockBit, Bit, Types >
 
struct  UF::ViewerDependentValueTag< T >
 

Namespaces

namespace  UF
 

Typedefs

template<typename T , bool PublicSet>
using UF::UpdateFieldSetter = std::conditional_t< PublicSet, UpdateFieldPublicSetter< T >, UpdateFieldPrivateSetter< T > >
 
template<typename T , bool PublicSet>
using UF::MutableFieldReference = std::conditional_t< std::is_base_of_v< HasChangesMaskTag, T >, MutableFieldReferenceWithChangesMask< T, PublicSet >, MutableFieldReferenceNoChangesMask< T, PublicSet > >
 

Enumerations

enum class  UF::UpdateFieldFlag : uint8 {
  UF::None = 0 , UF::Owner = 0x01 , UF::PartyMember = 0x02 , UF::UnitAll = 0x04 ,
  UF::Empath = 0x08
}
 
enum class  UF::MapUpdateFieldState : uint8 { UF::Unchanged = 0 , UF::Changed = 1 , UF::Deleted = 2 }
 

Functions

 UF::DEFINE_ENUM_FLAG (UpdateFieldFlag)
 
template<typename T >
constexpr std::size_t UF::size ()
 
template<typename T >
constexpr std::size_t UF::size_of_value_type ()
 
void UF::WriteDynamicFieldUpdateMask (std::size_t size, std::vector< uint32 > const &updateMask, ByteBuffer &data, int32 bitsForSize=32)
 

Variables

template<typename T >
constexpr std::type_identity< T > UF::VariantCase