FlatCityBuf C++ reader 0.8.0
Native C++17 reader for FlatCityBuf, the cloud-optimized CityJSON format
Loading...
Searching...
No Matches
key.hpp File Reference
#include <fcb/error.hpp>
#include <fcb/span.hpp>
#include <cstdint>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

class  fcb::KeyValue
 A decoded index key. More...
 

Namespaces

namespace  fcb
 

Enumerations

enum class  fcb::KeyKind {
  fcb::Int8 , fcb::UInt8 , fcb::Int16 , fcb::UInt16 ,
  fcb::Int32 , fcb::UInt32 , fcb::Int64 , fcb::UInt64 ,
  fcb::Float32 , fcb::Float64 , fcb::Bool , fcb::DateTime ,
  fcb::String20 , fcb::String50 , fcb::String100
}
 The concrete key types the B+tree index can hold. More...
 

Functions

std::size_t fcb::key_serialized_size (KeyKind kind)
 Serialized width in bytes. DateTime is 12: i64 seconds + u32 nanos.
 
std::vector< std::uint8_t > fcb::encode_key (const KeyValue &v)
 
KeyValue fcb::decode_key (KeyKind kind, bytes_view b)
 
int fcb::compare_keys (const KeyValue &a, const KeyValue &b)
 Three-way comparison.
 
KeyValue fcb::key_min (KeyKind kind)
 Sentinels used to lower open-ended range queries.
 
KeyValue fcb::key_max (KeyKind kind)
 
KeyKind fcb::key_kind_for_column (std::uint8_t column_type)
 Column type to key kind, following what the WRITER emits.