Libosmium  2.20.0
Fast and flexible C++ library for working with OpenStreetMap data
Public Member Functions | Private Attributes | List of all members
osmium::CRC< TCRC > Class Template Reference

#include <crc.hpp>

Public Member Functions

TCRC & operator() () noexcept
 
const TCRC & operator() () const noexcept
 
void update_bool (const bool value) noexcept
 
void update_int8 (const uint8_t value) noexcept
 
void update_int16 (const uint16_t value) noexcept
 
void update_int32 (const uint32_t value) noexcept
 
void update_int64 (const uint64_t value) noexcept
 
void update_string (const char *str) noexcept
 
void update (const Timestamp &timestamp) noexcept
 
void update (const osmium::Location &location) noexcept
 
void update (const osmium::Box &box) noexcept
 
void update (const NodeRef &node_ref) noexcept
 
void update (const NodeRefList &node_refs) noexcept
 
void update (const TagList &tags) noexcept
 
void update (const osmium::RelationMember &member) noexcept
 
void update (const osmium::RelationMemberList &members) noexcept
 
void update (const osmium::OSMObject &object) noexcept
 
void update (const osmium::Node &node) noexcept
 
void update (const osmium::Way &way) noexcept
 
void update (const osmium::Relation &relation) noexcept
 
void update (const osmium::Area &area) noexcept
 
void update (const osmium::ChangesetDiscussion &discussion) noexcept
 
void update (const osmium::Changeset &changeset) noexcept
 

Private Attributes

TCRC m_crc
 

Detailed Description

template<typename TCRC>
class osmium::CRC< TCRC >

Framework for computing a checksum from OSM data. This class must be instantiated with a policy class that does the actual CRC calculations. It must have the process_byte(), process_bytes(), and checksum() member functions implemented according to the description in Boost (https://www.boost.org/doc/libs/release/libs/crc/crc.html).

Typically you will either use the boost::crc_32_type from the Boost CRC library or the osmium::CRC_zlib class which uses the zlib library for this, but other checksums are possible.

Template Parameters
TCRCA CRC type.

Member Function Documentation

◆ operator()() [1/2]

template<typename TCRC >
const TCRC & osmium::CRC< TCRC >::operator() ( ) const
inlinenoexcept

◆ operator()() [2/2]

template<typename TCRC >
TCRC & osmium::CRC< TCRC >::operator() ( )
inlinenoexcept

◆ update() [1/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const NodeRef node_ref)
inlinenoexcept

◆ update() [2/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const NodeRefList node_refs)
inlinenoexcept

◆ update() [3/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const osmium::Area area)
inlinenoexcept

◆ update() [4/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const osmium::Box &  box)
inlinenoexcept

◆ update() [5/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const osmium::Changeset changeset)
inlinenoexcept

◆ update() [6/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const osmium::ChangesetDiscussion discussion)
inlinenoexcept

◆ update() [7/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const osmium::Location location)
inlinenoexcept

◆ update() [8/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const osmium::Node node)
inlinenoexcept

◆ update() [9/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const osmium::OSMObject object)
inlinenoexcept

◆ update() [10/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const osmium::Relation relation)
inlinenoexcept

◆ update() [11/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const osmium::RelationMember member)
inlinenoexcept

◆ update() [12/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const osmium::RelationMemberList members)
inlinenoexcept

◆ update() [13/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const osmium::Way way)
inlinenoexcept

◆ update() [14/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const TagList tags)
inlinenoexcept

◆ update() [15/15]

template<typename TCRC >
void osmium::CRC< TCRC >::update ( const Timestamp timestamp)
inlinenoexcept

◆ update_bool()

template<typename TCRC >
void osmium::CRC< TCRC >::update_bool ( const bool  value)
inlinenoexcept

◆ update_int16()

template<typename TCRC >
void osmium::CRC< TCRC >::update_int16 ( const uint16_t  value)
inlinenoexcept

◆ update_int32()

template<typename TCRC >
void osmium::CRC< TCRC >::update_int32 ( const uint32_t  value)
inlinenoexcept

◆ update_int64()

template<typename TCRC >
void osmium::CRC< TCRC >::update_int64 ( const uint64_t  value)
inlinenoexcept

◆ update_int8()

template<typename TCRC >
void osmium::CRC< TCRC >::update_int8 ( const uint8_t  value)
inlinenoexcept

◆ update_string()

template<typename TCRC >
void osmium::CRC< TCRC >::update_string ( const char *  str)
inlinenoexcept

Member Data Documentation

◆ m_crc

template<typename TCRC >
TCRC osmium::CRC< TCRC >::m_crc
private

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