Libosmium  2.20.0
Fast and flexible C++ library for working with OpenStreetMap data
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
osmium::memory::Item Class Reference

#include <item.hpp>

Inheritance diagram for osmium::memory::Item:
Inheritance graph
[legend]
Collaboration diagram for osmium::memory::Item:
Collaboration graph
[legend]

Public Member Functions

 Item (const Item &)=delete
 
Itemoperator= (const Item &)=delete
 
 Item (Item &&)=delete
 
Itemoperator= (Item &&)=delete
 
 ~Item () noexcept=default
 
unsigned char * next () noexcept
 
const unsigned char * next () const noexcept
 
item_size_type byte_size () const noexcept
 
item_size_type padded_size () const
 
item_type type () const noexcept
 
bool removed () const noexcept
 
void set_removed (const bool removed) noexcept
 
diff_indicator_type diff () const noexcept
 
char diff_as_char () const noexcept
 
void set_diff (const diff_indicator_type diff) noexcept
 

Static Public Member Functions

static constexpr bool is_compatible_to (osmium::item_type) noexcept
 

Protected Member Functions

 Item (item_size_type size=0, item_type type=item_type{}) noexcept
 
Itemset_type (const item_type item_type) noexcept
 

Private Member Functions

Itemadd_size (const item_size_type size) noexcept
 

Private Attributes

item_size_type m_size
 
item_type m_type
 
uint16_t m_removed: 1
 
uint16_t m_diff: 2
 
uint16_t m_padding: 13
 

Friends

template<typename TMember >
class CollectionIterator
 
template<typename TMember >
class ItemIterator
 
class osmium::builder::Builder
 

Constructor & Destructor Documentation

◆ Item() [1/3]

osmium::memory::Item::Item ( item_size_type  size = 0,
item_type  type = item_type{} 
)
inlineexplicitprotectednoexcept

◆ Item() [2/3]

osmium::memory::Item::Item ( const Item )
delete

◆ Item() [3/3]

osmium::memory::Item::Item ( Item &&  )
delete

◆ ~Item()

osmium::memory::Item::~Item ( )
defaultnoexcept

Member Function Documentation

◆ add_size()

Item & osmium::memory::Item::add_size ( const item_size_type  size)
inlineprivatenoexcept

◆ byte_size()

item_size_type osmium::memory::Item::byte_size ( ) const
inlinenoexcept

◆ diff()

diff_indicator_type osmium::memory::Item::diff ( ) const
inlinenoexcept

◆ diff_as_char()

char osmium::memory::Item::diff_as_char ( ) const
inlinenoexcept

◆ is_compatible_to()

static constexpr bool osmium::memory::Item::is_compatible_to ( osmium::item_type  )
inlinestaticconstexprnoexcept

◆ next() [1/2]

const unsigned char * osmium::memory::Item::next ( ) const
inlinenoexcept

◆ next() [2/2]

unsigned char * osmium::memory::Item::next ( )
inlinenoexcept

◆ operator=() [1/2]

Item & osmium::memory::Item::operator= ( const Item )
delete

◆ operator=() [2/2]

Item & osmium::memory::Item::operator= ( Item &&  )
delete

◆ padded_size()

item_size_type osmium::memory::Item::padded_size ( ) const
inline

◆ removed()

bool osmium::memory::Item::removed ( ) const
inlinenoexcept

◆ set_diff()

void osmium::memory::Item::set_diff ( const diff_indicator_type  diff)
inlinenoexcept

◆ set_removed()

void osmium::memory::Item::set_removed ( const bool  removed)
inlinenoexcept

◆ set_type()

Item & osmium::memory::Item::set_type ( const item_type  item_type)
inlineprotectednoexcept

◆ type()

item_type osmium::memory::Item::type ( ) const
inlinenoexcept

Friends And Related Function Documentation

◆ CollectionIterator

template<typename TMember >
friend class CollectionIterator
friend

◆ ItemIterator

template<typename TMember >
friend class ItemIterator
friend

◆ osmium::builder::Builder

friend class osmium::builder::Builder
friend

Member Data Documentation

◆ m_diff

uint16_t osmium::memory::Item::m_diff
private

◆ m_padding

uint16_t osmium::memory::Item::m_padding
private

◆ m_removed

uint16_t osmium::memory::Item::m_removed
private

◆ m_size

item_size_type osmium::memory::Item::m_size
private

◆ m_type

item_type osmium::memory::Item::m_type
private

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