Botcraft 1.21.8
Loading...
Searching...
No Matches
ProtocolCraft::Holder< T > Class Template Reference

#include <Holder.hpp>

Inheritance diagram for ProtocolCraft::Holder< T >:
ProtocolCraft::NetworkType

Public Member Functions

 Holder ()=default
 
template<typename U >
 Holder (const Holder< U > &other)
 
virtual ~Holder ()
 
int GetId () const
 
const std::optional< T > & GetValue () const
 
auto & SetId (const int id_)
 
auto & SetValue (const std::optional< T > &value_)
 
- Public Member Functions inherited from ProtocolCraft::NetworkType
virtual ~NetworkType ()
 
virtual void Read (ReadIterator &iter, size_t &length)
 
virtual void Write (WriteContainer &container) const
 
virtual Json::Value Serialize () const
 

Protected Member Functions

virtual void ReadImpl (ReadIterator &iter, size_t &length) override
 
virtual void WriteImpl (WriteContainer &container) const override
 
virtual Json::Value SerializeImpl () const override
 

Private Attributes

int id = 0
 
std::optional< T > value
 

Detailed Description

template<typename T>
class ProtocolCraft::Holder< T >

Definition at line 10 of file Holder.hpp.

Constructor & Destructor Documentation

◆ Holder() [1/2]

template<typename T >
ProtocolCraft::Holder< T >::Holder ( )
default

◆ Holder() [2/2]

template<typename T >
template<typename U >
ProtocolCraft::Holder< T >::Holder ( const Holder< U > &  other)
inline

◆ ~Holder()

template<typename T >
virtual ProtocolCraft::Holder< T >::~Holder ( )
inlinevirtual

Definition at line 25 of file Holder.hpp.

Member Function Documentation

◆ GetId()

template<typename T >
int ProtocolCraft::Holder< T >::GetId ( ) const
inline

Definition at line 31 of file Holder.hpp.

References ProtocolCraft::Holder< T >::id.

Referenced by ProtocolCraft::Holder< T >::Holder().

◆ GetValue()

template<typename T >
const std::optional< T > & ProtocolCraft::Holder< T >::GetValue ( ) const
inline

Definition at line 36 of file Holder.hpp.

References ProtocolCraft::Holder< T >::value.

Referenced by ProtocolCraft::Holder< T >::Holder().

◆ ReadImpl()

template<typename T >
virtual void ProtocolCraft::Holder< T >::ReadImpl ( ReadIterator iter,
size_t &  length 
)
inlineoverrideprotectedvirtual

Implements ProtocolCraft::NetworkType.

Definition at line 55 of file Holder.hpp.

References ProtocolCraft::Holder< T >::value.

◆ SerializeImpl()

template<typename T >
virtual Json::Value ProtocolCraft::Holder< T >::SerializeImpl ( ) const
inlineoverrideprotectedvirtual

◆ SetId()

template<typename T >
auto & ProtocolCraft::Holder< T >::SetId ( const int  id_)
inline

Definition at line 42 of file Holder.hpp.

◆ SetValue()

template<typename T >
auto & ProtocolCraft::Holder< T >::SetValue ( const std::optional< T > &  value_)
inline

Definition at line 48 of file Holder.hpp.

References ProtocolCraft::Holder< T >::value.

◆ WriteImpl()

template<typename T >
virtual void ProtocolCraft::Holder< T >::WriteImpl ( WriteContainer container) const
inlineoverrideprotectedvirtual

Implements ProtocolCraft::NetworkType.

Definition at line 69 of file Holder.hpp.

References ProtocolCraft::Holder< T >::value.

Member Data Documentation

◆ id

template<typename T >
int ProtocolCraft::Holder< T >::id = 0
private

◆ value


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