Kagome
Polkadot Runtime Engine in C++17
kagome::network::BlockAttributes Class Reference

#include <block_attributes.hpp>

Collaboration diagram for kagome::network::BlockAttributes:

Public Member Functions

 BlockAttributes ()=default
 
constexpr BlockAttributes (const BlockAttributes &other) noexcept=default
 
 BlockAttributes (BlockAttributes &&other) noexcept=default
 
 ~BlockAttributes ()=default
 
constexpr BlockAttributes (BlockAttribute attribute) noexcept
 
template<typename T , typename = std::enable_if<std::is_unsigned_v<T>>>
constexpr BlockAttributes (T attribute) noexcept
 
constexpr BlockAttributesoperator= (const BlockAttributes &other)=default
 
constexpr BlockAttributesoperator= (BlockAttributes &&other)=default
 
template<typename T , typename = std::enable_if<std::is_unsigned_v<T>>>
constexpr void load (T value)
 
BlockAttributesoperator= (BlockAttribute attribute)
 
constexpr BlockAttributes operator| (const BlockAttributes &other) const
 
constexpr BlockAttributes operator| (const BlockAttribute &attribute) const
 
BlockAttributesoperator|= (const BlockAttributes &other)
 
BlockAttributesoperator|= (const BlockAttribute &attribute)
 
constexpr BlockAttributes operator& (const BlockAttributes &other) const
 
constexpr BlockAttributes operator& (const BlockAttribute &attribute) const
 
BlockAttributesoperator&= (const BlockAttributes &other)
 
BlockAttributesoperator&= (BlockAttribute attribute)
 
BlockAttributes operator~ () const
 
bool operator== (const BlockAttributes &other) const
 
 operator bool () const
 
template<typename T , typename = std::enable_if<std::is_unsigned_v<T>>>
 operator T () const
 

Private Attributes

uint8_t attributes = 0
 

Static Private Attributes

static constexpr uint8_t mask_ = 0b00011111
 

Friends

struct std::hash< BlockAttributes >
 

Detailed Description

Block attributes

Definition at line 37 of file block_attributes.hpp.

Constructor & Destructor Documentation

kagome::network::BlockAttributes::BlockAttributes ( )
default
constexpr kagome::network::BlockAttributes::BlockAttributes ( const BlockAttributes other)
defaultnoexcept
kagome::network::BlockAttributes::BlockAttributes ( BlockAttributes &&  other)
defaultnoexcept
kagome::network::BlockAttributes::~BlockAttributes ( )
default
constexpr kagome::network::BlockAttributes::BlockAttributes ( BlockAttribute  attribute)
inlinenoexcept

Definition at line 44 of file block_attributes.hpp.

template<typename T , typename = std::enable_if<std::is_unsigned_v<T>>>
constexpr kagome::network::BlockAttributes::BlockAttributes ( attribute)
inlinenoexcept

Definition at line 48 of file block_attributes.hpp.

Member Function Documentation

template<typename T , typename = std::enable_if<std::is_unsigned_v<T>>>
constexpr void kagome::network::BlockAttributes::load ( value)
inline

Definition at line 58 of file block_attributes.hpp.

kagome::network::BlockAttributes::operator bool ( ) const
inline

Definition at line 125 of file block_attributes.hpp.

template<typename T , typename = std::enable_if<std::is_unsigned_v<T>>>
kagome::network::BlockAttributes::operator T ( ) const
inline

Definition at line 130 of file block_attributes.hpp.

constexpr BlockAttributes kagome::network::BlockAttributes::operator& ( const BlockAttributes other) const
inline

Definition at line 91 of file block_attributes.hpp.

constexpr BlockAttributes kagome::network::BlockAttributes::operator& ( const BlockAttribute attribute) const
inline

Definition at line 98 of file block_attributes.hpp.

BlockAttributes& kagome::network::BlockAttributes::operator&= ( const BlockAttributes other)
inline

Definition at line 105 of file block_attributes.hpp.

BlockAttributes& kagome::network::BlockAttributes::operator&= ( BlockAttribute  attribute)
inline

Definition at line 110 of file block_attributes.hpp.

constexpr BlockAttributes& kagome::network::BlockAttributes::operator= ( const BlockAttributes other)
inlinedefault
constexpr BlockAttributes& kagome::network::BlockAttributes::operator= ( BlockAttributes &&  other)
inlinedefault
BlockAttributes& kagome::network::BlockAttributes::operator= ( BlockAttribute  attribute)
inline

Definition at line 62 of file block_attributes.hpp.

bool kagome::network::BlockAttributes::operator== ( const BlockAttributes other) const
inline

Definition at line 121 of file block_attributes.hpp.

constexpr BlockAttributes kagome::network::BlockAttributes::operator| ( const BlockAttributes other) const
inline

Definition at line 67 of file block_attributes.hpp.

constexpr BlockAttributes kagome::network::BlockAttributes::operator| ( const BlockAttribute attribute) const
inline

Definition at line 74 of file block_attributes.hpp.

BlockAttributes& kagome::network::BlockAttributes::operator|= ( const BlockAttributes other)
inline

Definition at line 81 of file block_attributes.hpp.

BlockAttributes& kagome::network::BlockAttributes::operator|= ( const BlockAttribute attribute)
inline

Definition at line 86 of file block_attributes.hpp.

BlockAttributes kagome::network::BlockAttributes::operator~ ( ) const
inline

Definition at line 115 of file block_attributes.hpp.

Friends And Related Function Documentation

friend struct std::hash< BlockAttributes >
friend

Definition at line 138 of file block_attributes.hpp.

Member Data Documentation

uint8_t kagome::network::BlockAttributes::attributes = 0
private

Definition at line 136 of file block_attributes.hpp.

constexpr uint8_t kagome::network::BlockAttributes::mask_ = 0b00011111
staticprivate

Definition at line 135 of file block_attributes.hpp.


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