Botcraft 1.21.4
Loading...
Searching...
No Matches
ProtocolCraft::Components::PropertyMatcher Class Reference

#include <PropertyMatcher.hpp>

Inheritance diagram for ProtocolCraft::Components::PropertyMatcher:
ProtocolCraft::NetworkType

Public Member Functions

auto & SetRangedMatcher (const std::optional< ProtocolCraft::Components::RangedMatcher > &RangedMatcher_)
 
auto & SetExactMatcher (const std::optional< ProtocolCraft::Components::ExactMatcher > &ExactMatcher_)
 
- 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

bool GetIsExactMatcher () const
 
- Protected Member Functions inherited from ProtocolCraft::NetworkType
virtual void ReadImpl (ReadIterator &iter, size_t &length)=0
 
virtual void WriteImpl (WriteContainer &container) const =0
 
virtual Json::Value SerializeImpl () const =0
 

Private Types

using THIS = PropertyMatcher
 

Private Member Functions

 DEFINE_CONDITION (IsExactMatcher, GetIsExactMatcher())
 
 DEFINE_CONDITION (IsRangedMatcher, !GetIsExactMatcher())
 
 SERIALIZED_FIELD (Name, std::string)
 
 SERIALIZED_FIELD_WITHOUT_GETTER_SETTER (IsExactMatcher_, bool)
 
 SERIALIZED_FIELD_WITHOUT_GETTER_SETTER (RangedMatcher, Internal::Conditioned< ProtocolCraft::Components::RangedMatcher, &THIS::IsRangedMatcher >)
 
 SERIALIZED_FIELD_WITHOUT_GETTER_SETTER (ExactMatcher, Internal::Conditioned< ProtocolCraft::Components::ExactMatcher, &THIS::IsExactMatcher >)
 
 GETTER (RangedMatcher)
 
 GETTER (ExactMatcher)
 

Private Attributes

 DECLARE_READ_WRITE_SERIALIZE
 

Detailed Description

Definition at line 14 of file PropertyMatcher.hpp.

Member Typedef Documentation

◆ THIS

Member Function Documentation

◆ DEFINE_CONDITION() [1/2]

ProtocolCraft::Components::PropertyMatcher::DEFINE_CONDITION ( IsExactMatcher  ,
GetIsExactMatcher()   
)
private

◆ DEFINE_CONDITION() [2/2]

ProtocolCraft::Components::PropertyMatcher::DEFINE_CONDITION ( IsRangedMatcher  ,
GetIsExactMatcher() 
)
private

◆ GetIsExactMatcher()

bool ProtocolCraft::Components::PropertyMatcher::GetIsExactMatcher ( ) const
inlineprotected

Definition at line 32 of file PropertyMatcher.hpp.

◆ GETTER() [1/2]

ProtocolCraft::Components::PropertyMatcher::GETTER ( ExactMatcher  )
private

◆ GETTER() [2/2]

ProtocolCraft::Components::PropertyMatcher::GETTER ( RangedMatcher  )
private

◆ SERIALIZED_FIELD()

ProtocolCraft::Components::PropertyMatcher::SERIALIZED_FIELD ( Name  ,
std::string   
)
private

◆ SERIALIZED_FIELD_WITHOUT_GETTER_SETTER() [1/3]

ProtocolCraft::Components::PropertyMatcher::SERIALIZED_FIELD_WITHOUT_GETTER_SETTER ( ExactMatcher  ,
Internal::Conditioned< ProtocolCraft::Components::ExactMatcher, &THIS::IsExactMatcher >   
)
private

◆ SERIALIZED_FIELD_WITHOUT_GETTER_SETTER() [2/3]

ProtocolCraft::Components::PropertyMatcher::SERIALIZED_FIELD_WITHOUT_GETTER_SETTER ( IsExactMatcher_  ,
bool   
)
private

◆ SERIALIZED_FIELD_WITHOUT_GETTER_SETTER() [3/3]

ProtocolCraft::Components::PropertyMatcher::SERIALIZED_FIELD_WITHOUT_GETTER_SETTER ( RangedMatcher  ,
Internal::Conditioned< ProtocolCraft::Components::RangedMatcher, &THIS::IsRangedMatcher >   
)
private

◆ SetExactMatcher()

auto & ProtocolCraft::Components::PropertyMatcher::SetExactMatcher ( const std::optional< ProtocolCraft::Components::ExactMatcher > &  ExactMatcher_)
inline

Definition at line 49 of file PropertyMatcher.hpp.

◆ SetRangedMatcher()

auto & ProtocolCraft::Components::PropertyMatcher::SetRangedMatcher ( const std::optional< ProtocolCraft::Components::RangedMatcher > &  RangedMatcher_)
inline

Definition at line 38 of file PropertyMatcher.hpp.

Member Data Documentation

◆ DECLARE_READ_WRITE_SERIALIZE

ProtocolCraft::Components::PropertyMatcher::DECLARE_READ_WRITE_SERIALIZE
private

Definition at line 26 of file PropertyMatcher.hpp.


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