GeoDesk for C++
Fast and storage-efficient spatial database engine for OpenStreetMap features
Loading...
Searching...
No Matches
clarisma Namespace Reference

Classes

class  AbstractStreamWriter
 
class  AnsiColor
 
class  Arena
 
class  ArenaBag
 
class  ArenaPool
 A fast object pool that uses an Arena as its allocator.
 
class  ArenaStack
 A fast stack that uses an ArenaPool for dynamic memory allocation.
 
class  AtomicFile
 
class  BinaryChecker
 
class  BitIterator
 
class  Block
 
class  BlockingQueue
 
class  Buffer
 
class  BufferWriter
 
class  CharSchema
 A bitmap consisting of 256 flags that can be used to quickly identify whether a given character is part of a set (e.g.
 
class  Checker
 
class  Chunk
 
class  ChunkBuffer
 
class  ChunkChain
 
class  ChunkedBuffer
 
class  CliApplication
 
class  CliCommand
 
class  CliCommandConfigurator
 
class  CliHelp
 
class  CompactHashTable
 
class  Console
 
class  ConsoleBuffer
 
class  ConsoleWriter
 
class  Crc32C
 CRC32C (Castagnoli) checksum engine.
 
class  Csv
 
class  DataPtr
 
class  DateTime
 
class  Decimal
 A string containing a Decimal in canonical form:
 
class  Deduplicator
 A Lookup-based template class that enables de-duplication of items that are represented by a sequence of bytes (such as strings).
 
class  DynamicBuffer
 
class  DynamicStackBuffer
 
class  EncodedVarint26
 A pre-encoded varint representation of a 26-bit integer.
 
class  ExpandableMappedFile
 A MappedFile that grows on demand (if opened in writable mode).
 
class  File
 
class  FileBuffer
 
class  FileBuffer2
 
class  FileBuffer3
 
class  FileHandle
 Lightweight wrapper for a native file handle on Windows, Linux and macOS.
 
class  FileLock
 
class  FileNotFoundException
 
class  FilePath
 
class  FileSize
 
class  FileSizeParser
 
class  FileSystem
 
class  FileTime
 
class  FileVersion
 
class  FixedQueue
 
class  FormattedLong
 
class  FreeStore
 
class  FreeStoreException
 
class  HashedStringView
 
class  Highlighter
 
class  IndexFile
 A fast disk-based key-value lookup that stores values in an array, appropriate for keyspaces that are expected to be dense.
 
class  IOException
 
class  Json
 
class  Linked
 
class  LinkedList
 
class  LinkedQueue
 
class  LinkedStack
 
class  Lookup
 Template for classes that look up items in a hashtable using a 64-bit numeric ID.
 
class  LookupBase
 Base template for classes that use hashtable-based lookup.
 
class  MappedFile
 
class  MappedSegment
 
class  MemoryMapping
 A memory-mapped portion of a file.
 
class  MutableDataPtr
 
class  NearPtr
 A pointer that can reference a limited address range, in exchange for a smaller storage footprint.
 
class  Parcel
 
class  ParcelPtr
 
struct  ParsedString
 
class  ParseException
 
class  Parser
 
class  PbfDecoder
 
class  Phaser
 
class  PileFile
 
class  pointer
 
class  ProgressReporter
 
class  PropertiesParser
 
class  PunnedPtr
 
class  QuickSelect
 
class  RefCounted
 
class  ReusableBlock
 
class  ShortString
 A string with a maximum length of 2^16-1 bytes.
 
class  ShortVarString
 A string with a maximum length of 2^14-1 bytes.
 
class  SimpleArena
 A simplified arena allocator.
 
class  SimpleLinkedList
 A simple single-linked list.
 
class  SimpleXmlParser
 
class  SmallArray
 
class  SmallVector
 A vector-like container with inline storage for the first N elements.
 
class  Span
 
class  StreamWriter
 
class  StringBuilder
 
class  StringLookup
 static const S& string(T* p) static uint32_t& next(T* p) uint32_t[]* table() uint32_t tableSize() void* data()
 
class  StringSet
 A fast and memory-efficient set of strings.
 
class  StringViewBuffer
 
class  SystemInfo
 
class  Table
 
class  TaggedPtr
 
class  TaskEngine
 
class  TaskQueue
 
class  TaskStatus
 
class  TextMetrics
 
class  TextTemplate
 Minimal template engine with arena layout.
 
class  ThreadPool
 
class  TinyString
 A string with a maximum length of 255 bytes.
 
class  TinyStringConstant
 
class  Unicode
 
class  UrlView
 
class  UUID
 
class  Validate
 
class  ValueException
 
class  Xml
 

Typedefs

using ByteBlock = Block<uint8_t>
 
using CharBlock = Block<char>
 
template<class K , class Compare = gtl::Less<K>, class Alloc = gtl::priv::Allocator<K>>
using BTreeSet = gtl::btree_set<K,Compare,Alloc>
 Alias for GTL btree_Set by Gregory Popovitch https://github.com/greg7mdp/gtl, licensed under Apache 2.0.
 
template<class K , class V , class Hash = gtl::priv::hash_default_hash<K>, class Eq = gtl::priv::hash_default_eq<K>, class Alloc = gtl::priv::Allocator<gtl::priv::Pair<const K, V>>>
using HashMap = gtl::flat_hash_map<K,V,Hash,Eq,Alloc>
 A faster replacement for std::unordered_map Alias for GTL Flat Hash Map by Gregory Popovitch https://github.com/greg7mdp/gtl, licensed under Apache 2.0.
 
template<class K , class Hash = gtl::priv::hash_default_hash<K>, class Eq = gtl::priv::hash_default_eq<K>, class Alloc = gtl::priv::Allocator<K>>
using HashSet = gtl::flat_hash_set<K,Hash,Eq,Alloc>
 A faster replacement for std::unordered_set Alias for GTL Flat Hash Set by Gregory Popovitch https://github.com/greg7mdp/gtl, licensed under Apache 2.0.
 
using ByteSpan = Span<const uint8_t>
 

Enumerations

enum class  VerbosityLevel {
  SILENT , QUIET , NORMAL , VERBOSE ,
  DEBUG
}
 
enum class  FileError : uint32_t {
  OK = 0 , UNKNOWN = EIO , NOT_FOUND = ENOENT , PATH_NOT_FOUND = ENOENT ,
  ALREADY_EXISTS = EEXIST , FILE_EXISTS = EEXIST , PERMISSION_DENIED = EACCES , READ_ONLY_FILESYSTEM = EROFS ,
  NOT_SUPPORTED = ENOTSUP , NAME_TOO_LONG = ENAMETOOLONG , INVALID_NAME = EINVAL , INVALID_PATH = EINVAL ,
  INVALID_HANDLE = EBADF , NOT_A_DIRECTORY = ENOTDIR , IS_A_DIRECTORY = EISDIR , BUSY = EBUSY ,
  WOULD_BLOCK = EWOULDBLOCK , LOCK_VIOLATION = EACCES , SHARING_VIOLATION = EBUSY , NOT_LOCKED = 0 ,
  DISK_FULL = ENOSPC , FILE_TOO_LARGE = EFBIG , IO_ERROR = EIO , IO_DEVICE_ERROR = ENODEV ,
  END_OF_FILE = 0 , CROSS_DEVICE_LINK = EXDEV , DIRECTORY_NOT_EMPTY = ENOTEMPTY , TEXT_FILE_BUSY = ETXTBSY ,
  RESOURCE_LIMIT = EMFILE , TIMED_OUT = ETIMEDOUT , INTERRUPTED = EINTR , OK = ERROR_SUCCESS ,
  UNKNOWN = ERROR_GEN_FAILURE , NOT_FOUND = ERROR_FILE_NOT_FOUND , PATH_NOT_FOUND = ERROR_PATH_NOT_FOUND , ALREADY_EXISTS = ERROR_ALREADY_EXISTS ,
  FILE_EXISTS = ERROR_FILE_EXISTS , PERMISSION_DENIED = ERROR_ACCESS_DENIED , READ_ONLY_FILESYSTEM = ERROR_WRITE_PROTECT , NOT_SUPPORTED = ERROR_NOT_SUPPORTED ,
  NAME_TOO_LONG = ERROR_FILENAME_EXCED_RANGE , INVALID_NAME = ERROR_INVALID_NAME , INVALID_PATH = ERROR_INVALID_NAME , INVALID_HANDLE = ERROR_INVALID_HANDLE ,
  NOT_A_DIRECTORY = ERROR_DIRECTORY , IS_A_DIRECTORY = ERROR_DIRECTORY , BUSY = ERROR_BUSY , WOULD_BLOCK = ERROR_BUSY ,
  LOCK_VIOLATION = ERROR_LOCK_VIOLATION , SHARING_VIOLATION = ERROR_SHARING_VIOLATION , NOT_LOCKED = ERROR_NOT_LOCKED , DISK_FULL = ERROR_DISK_FULL ,
  FILE_TOO_LARGE = ERROR_DISK_FULL , IO_ERROR = ERROR_GEN_FAILURE , IO_DEVICE_ERROR = ERROR_IO_DEVICE , END_OF_FILE = ERROR_HANDLE_EOF ,
  CROSS_DEVICE_LINK = ERROR_NOT_SAME_DEVICE , DIRECTORY_NOT_EMPTY = ERROR_DIR_NOT_EMPTY , TEXT_FILE_BUSY = ERROR_SUCCESS , RESOURCE_LIMIT = ERROR_TOO_MANY_OPEN_FILES ,
  TIMED_OUT = WAIT_TIMEOUT , INTERRUPTED = ERROR_OPERATION_ABORTED
}
 POSIX file/IO error codes (superset). More...
 
enum class  FileError : uint32_t {
  OK = 0 , UNKNOWN = EIO , NOT_FOUND = ENOENT , PATH_NOT_FOUND = ENOENT ,
  ALREADY_EXISTS = EEXIST , FILE_EXISTS = EEXIST , PERMISSION_DENIED = EACCES , READ_ONLY_FILESYSTEM = EROFS ,
  NOT_SUPPORTED = ENOTSUP , NAME_TOO_LONG = ENAMETOOLONG , INVALID_NAME = EINVAL , INVALID_PATH = EINVAL ,
  INVALID_HANDLE = EBADF , NOT_A_DIRECTORY = ENOTDIR , IS_A_DIRECTORY = EISDIR , BUSY = EBUSY ,
  WOULD_BLOCK = EWOULDBLOCK , LOCK_VIOLATION = EACCES , SHARING_VIOLATION = EBUSY , NOT_LOCKED = 0 ,
  DISK_FULL = ENOSPC , FILE_TOO_LARGE = EFBIG , IO_ERROR = EIO , IO_DEVICE_ERROR = ENODEV ,
  END_OF_FILE = 0 , CROSS_DEVICE_LINK = EXDEV , DIRECTORY_NOT_EMPTY = ENOTEMPTY , TEXT_FILE_BUSY = ETXTBSY ,
  RESOURCE_LIMIT = EMFILE , TIMED_OUT = ETIMEDOUT , INTERRUPTED = EINTR , OK = ERROR_SUCCESS ,
  UNKNOWN = ERROR_GEN_FAILURE , NOT_FOUND = ERROR_FILE_NOT_FOUND , PATH_NOT_FOUND = ERROR_PATH_NOT_FOUND , ALREADY_EXISTS = ERROR_ALREADY_EXISTS ,
  FILE_EXISTS = ERROR_FILE_EXISTS , PERMISSION_DENIED = ERROR_ACCESS_DENIED , READ_ONLY_FILESYSTEM = ERROR_WRITE_PROTECT , NOT_SUPPORTED = ERROR_NOT_SUPPORTED ,
  NAME_TOO_LONG = ERROR_FILENAME_EXCED_RANGE , INVALID_NAME = ERROR_INVALID_NAME , INVALID_PATH = ERROR_INVALID_NAME , INVALID_HANDLE = ERROR_INVALID_HANDLE ,
  NOT_A_DIRECTORY = ERROR_DIRECTORY , IS_A_DIRECTORY = ERROR_DIRECTORY , BUSY = ERROR_BUSY , WOULD_BLOCK = ERROR_BUSY ,
  LOCK_VIOLATION = ERROR_LOCK_VIOLATION , SHARING_VIOLATION = ERROR_SHARING_VIOLATION , NOT_LOCKED = ERROR_NOT_LOCKED , DISK_FULL = ERROR_DISK_FULL ,
  FILE_TOO_LARGE = ERROR_DISK_FULL , IO_ERROR = ERROR_GEN_FAILURE , IO_DEVICE_ERROR = ERROR_IO_DEVICE , END_OF_FILE = ERROR_HANDLE_EOF ,
  CROSS_DEVICE_LINK = ERROR_NOT_SAME_DEVICE , DIRECTORY_NOT_EMPTY = ERROR_DIR_NOT_EMPTY , TEXT_FILE_BUSY = ERROR_SUCCESS , RESOURCE_LIMIT = ERROR_TOO_MANY_OPEN_FILES ,
  TIMED_OUT = WAIT_TIMEOUT , INTERRUPTED = ERROR_OPERATION_ABORTED
}
 Windows file/IO error codes (superset). More...
 
enum class  UrlScheme { HTTP , HTTPS }
 

Functions

Buffer & operator<< (Buffer &buf, std::string_view s)
 
Buffer & operator<< (Buffer &buf, const char *s)
 
Buffer & operator<< (Buffer &buf, char ch)
 
template<std::signed_integral T>
requires (!std::is_same_v<T, char> && !std::is_same_v<T, signed char>)
Buffer & operator<< (Buffer &buf, T n)
 
template<std::unsigned_integral T>
requires (!std::is_same_v<T, unsigned char>)
Buffer & operator<< (Buffer &buf, T n)
 
Buffer & operator<< (Buffer &buf, double d)
 
template<typename T >
requires BufferFormattable<T>
Buffer & operator<< (Buffer &buf, const T &value)
 
template<typename B , typename T >
requires (std::is_base_of_v<Buffer, std::remove_reference_t<B>>) && (!std::is_same_v<std::remove_reference_t<B>, Buffer> && BufferFormattable<T>)
B & operator<< (B &b, const T &value)
 
template<typename T >
requires BufferWriterFormattable<T>
BufferWriter & operator<< (BufferWriter &buf, const T &value)
 
template<typename B , typename T >
requires (std::is_base_of_v<BufferWriter, std::remove_reference_t<B>>) && (!std::is_same_v<std::remove_reference_t<B>, BufferWriter> && BufferWriterFormattable<T>)
B & operator<< (B &b, const T &value)
 
bool testCrc32C (const void *p, size_t len)
 
template<typename T >
requires OstreamFormattable<T>
std::ostream & operator<< (std::ostream &os, const T &value)
 ostream inserter enabled only for OstreamFormattable types.
 
template<std::size_t N>
 TinyStringConstant (const char(&)[N]) -> TinyStringConstant< N+1 >
 
uint64_t readVarint35 (const uint8_t *&p)
 
uint32_t readVarint32 (const uint8_t *&p)
 
uint64_t readVarint64 (const uint8_t *&p)
 
int32_t readSignedVarint32 (const uint8_t *&p)
 
int64_t readSignedVarint64 (const uint8_t *&p)
 
std::string_view readStringView (const uint8_t *&p)
 
int countVarints (const void *pStart, const void *pEnd)
 
void skipVarints (const uint8_t *&p, int count)
 
void skipVarintsBackwardUnsafe (const uint8_t *&p, int count)
 Moves pointer backward, skipping over the specified numbers of varints.
 
void writeVarint (uint8_t *&p, uint64_t val)
 
void writeSignedVarint (uint8_t *&p, int64_t val)
 
unsigned int varintSize (uint64_t v)
 Returns the number of bytes required to encode the given unsigned value as a varint (A varint requires one byte for each complete or partial run of 7 significant bits)
 
uint64_t toZigzag (int64_t v)
 
uint32_t toZigzag (int32_t v)
 
int64_t fromZigzag (uint64_t v)
 
int32_t fromZigzag (uint32_t v)
 
uint64_t safeReadVarint64 (const uint8_t *&p, const uint8_t *end)
 
uint32_t safeReadVarint32 (const uint8_t *&p, const uint8_t *end)
 
int32_t safeReadSignedVarint32 (const uint8_t *&p, const uint8_t *end)
 
int64_t safeReadSignedVarint64 (const uint8_t *&p, const uint8_t *end)
 
void safeSkipVarints (const uint8_t *&p, int count, const uint8_t *end)
 

Typedef Documentation

◆ BTreeSet

template<class K , class Compare = gtl::Less<K>, class Alloc = gtl::priv::Allocator<K>>
using clarisma::BTreeSet = gtl::btree_set<K,Compare,Alloc>

Alias for GTL btree_Set by Gregory Popovitch https://github.com/greg7mdp/gtl, licensed under Apache 2.0.

◆ ByteBlock

using clarisma::ByteBlock = Block<uint8_t>

◆ ByteSpan

using clarisma::ByteSpan = Span<const uint8_t>

◆ CharBlock

using clarisma::CharBlock = Block<char>

◆ HashMap

template<class K , class V , class Hash = gtl::priv::hash_default_hash<K>, class Eq = gtl::priv::hash_default_eq<K>, class Alloc = gtl::priv::Allocator<gtl::priv::Pair<const K, V>>>
using clarisma::HashMap = gtl::flat_hash_map<K,V,Hash,Eq,Alloc>

A faster replacement for std::unordered_map Alias for GTL Flat Hash Map by Gregory Popovitch https://github.com/greg7mdp/gtl, licensed under Apache 2.0.

◆ HashSet

template<class K , class Hash = gtl::priv::hash_default_hash<K>, class Eq = gtl::priv::hash_default_eq<K>, class Alloc = gtl::priv::Allocator<K>>
using clarisma::HashSet = gtl::flat_hash_set<K,Hash,Eq,Alloc>

A faster replacement for std::unordered_set Alias for GTL Flat Hash Set by Gregory Popovitch https://github.com/greg7mdp/gtl, licensed under Apache 2.0.

Enumeration Type Documentation

◆ FileError [1/2]

enum class clarisma::FileError : uint32_t
strong

POSIX file/IO error codes (superset).

Each enumerator equals a native errno (int). Distinct Windows cases may share the same errno here.

Enumerator
OK 
UNKNOWN 
NOT_FOUND 
PATH_NOT_FOUND 
ALREADY_EXISTS 
FILE_EXISTS 
PERMISSION_DENIED 
READ_ONLY_FILESYSTEM 
NOT_SUPPORTED 
NAME_TOO_LONG 
INVALID_NAME 
INVALID_PATH 
INVALID_HANDLE 
NOT_A_DIRECTORY 
IS_A_DIRECTORY 
BUSY 
WOULD_BLOCK 
LOCK_VIOLATION 
SHARING_VIOLATION 
NOT_LOCKED 
DISK_FULL 
FILE_TOO_LARGE 
IO_ERROR 
IO_DEVICE_ERROR 
END_OF_FILE 
CROSS_DEVICE_LINK 
DIRECTORY_NOT_EMPTY 
TEXT_FILE_BUSY 
RESOURCE_LIMIT 
TIMED_OUT 
INTERRUPTED 
OK 
UNKNOWN 
NOT_FOUND 
PATH_NOT_FOUND 
ALREADY_EXISTS 
FILE_EXISTS 
PERMISSION_DENIED 
READ_ONLY_FILESYSTEM 
NOT_SUPPORTED 
NAME_TOO_LONG 
INVALID_NAME 
INVALID_PATH 
INVALID_HANDLE 
NOT_A_DIRECTORY 
IS_A_DIRECTORY 
BUSY 
WOULD_BLOCK 
LOCK_VIOLATION 
SHARING_VIOLATION 
NOT_LOCKED 
DISK_FULL 
FILE_TOO_LARGE 
IO_ERROR 
IO_DEVICE_ERROR 
END_OF_FILE 
CROSS_DEVICE_LINK 
DIRECTORY_NOT_EMPTY 
TEXT_FILE_BUSY 
RESOURCE_LIMIT 
TIMED_OUT 
INTERRUPTED 

◆ FileError [2/2]

enum class clarisma::FileError : uint32_t
strong

Windows file/IO error codes (superset).

Each enumerator equals a native Win32 error code (DWORD).

Enumerator
OK 
UNKNOWN 
NOT_FOUND 
PATH_NOT_FOUND 
ALREADY_EXISTS 
FILE_EXISTS 
PERMISSION_DENIED 
READ_ONLY_FILESYSTEM 
NOT_SUPPORTED 
NAME_TOO_LONG 
INVALID_NAME 
INVALID_PATH 
INVALID_HANDLE 
NOT_A_DIRECTORY 
IS_A_DIRECTORY 
BUSY 
WOULD_BLOCK 
LOCK_VIOLATION 
SHARING_VIOLATION 
NOT_LOCKED 
DISK_FULL 
FILE_TOO_LARGE 
IO_ERROR 
IO_DEVICE_ERROR 
END_OF_FILE 
CROSS_DEVICE_LINK 
DIRECTORY_NOT_EMPTY 
TEXT_FILE_BUSY 
RESOURCE_LIMIT 
TIMED_OUT 
INTERRUPTED 
OK 
UNKNOWN 
NOT_FOUND 
PATH_NOT_FOUND 
ALREADY_EXISTS 
FILE_EXISTS 
PERMISSION_DENIED 
READ_ONLY_FILESYSTEM 
NOT_SUPPORTED 
NAME_TOO_LONG 
INVALID_NAME 
INVALID_PATH 
INVALID_HANDLE 
NOT_A_DIRECTORY 
IS_A_DIRECTORY 
BUSY 
WOULD_BLOCK 
LOCK_VIOLATION 
SHARING_VIOLATION 
NOT_LOCKED 
DISK_FULL 
FILE_TOO_LARGE 
IO_ERROR 
IO_DEVICE_ERROR 
END_OF_FILE 
CROSS_DEVICE_LINK 
DIRECTORY_NOT_EMPTY 
TEXT_FILE_BUSY 
RESOURCE_LIMIT 
TIMED_OUT 
INTERRUPTED 

◆ UrlScheme

enum class clarisma::UrlScheme
strong
Enumerator
HTTP 
HTTPS 

◆ VerbosityLevel

enum class clarisma::VerbosityLevel
strong
Enumerator
SILENT 
QUIET 
NORMAL 
VERBOSE 
DEBUG 

Function Documentation

◆ countVarints()

int clarisma::countVarints ( const void * pStart,
const void * pEnd )
inline

◆ fromZigzag() [1/2]

int32_t clarisma::fromZigzag ( uint32_t v)
inline

◆ fromZigzag() [2/2]

int64_t clarisma::fromZigzag ( uint64_t v)
inline

◆ operator<<() [1/11]

template<typename B , typename T >
requires (std::is_base_of_v<Buffer, std::remove_reference_t<B>>) && (!std::is_same_v<std::remove_reference_t<B>, Buffer> && BufferFormattable<T>)
B & clarisma::operator<< ( B & b,
const T & value )

◆ operator<<() [2/11]

template<typename B , typename T >
requires (std::is_base_of_v<BufferWriter, std::remove_reference_t<B>>) && (!std::is_same_v<std::remove_reference_t<B>, BufferWriter> && BufferWriterFormattable<T>)
B & clarisma::operator<< ( B & b,
const T & value )

◆ operator<<() [3/11]

Buffer & clarisma::operator<< ( Buffer & buf,
char ch )
inline

◆ operator<<() [4/11]

Buffer & clarisma::operator<< ( Buffer & buf,
const char * s )
inline

◆ operator<<() [5/11]

template<typename T >
requires BufferFormattable<T>
Buffer & clarisma::operator<< ( Buffer & buf,
const T & value )

◆ operator<<() [6/11]

Buffer & clarisma::operator<< ( Buffer & buf,
double d )
inline

◆ operator<<() [7/11]

Buffer & clarisma::operator<< ( Buffer & buf,
std::string_view s )
inline

◆ operator<<() [8/11]

template<std::signed_integral T>
requires (!std::is_same_v<T, char> && !std::is_same_v<T, signed char>)
Buffer & clarisma::operator<< ( Buffer & buf,
T n )

◆ operator<<() [9/11]

template<std::unsigned_integral T>
requires (!std::is_same_v<T, unsigned char>)
Buffer & clarisma::operator<< ( Buffer & buf,
T n )

◆ operator<<() [10/11]

template<typename T >
requires BufferWriterFormattable<T>
BufferWriter & clarisma::operator<< ( BufferWriter & buf,
const T & value )

◆ operator<<() [11/11]

template<typename T >
requires OstreamFormattable<T>
std::ostream & clarisma::operator<< ( std::ostream & os,
const T & value )

ostream inserter enabled only for OstreamFormattable types.

Header stays light via <iosfwd>. TUs that actually use streaming must include <ostream>/<iostream>.

◆ readSignedVarint32()

int32_t clarisma::readSignedVarint32 ( const uint8_t *& p)
inline

◆ readSignedVarint64()

int64_t clarisma::readSignedVarint64 ( const uint8_t *& p)
inline

◆ readStringView()

std::string_view clarisma::readStringView ( const uint8_t *& p)
inline

◆ readVarint32()

uint32_t clarisma::readVarint32 ( const uint8_t *& p)
inline

◆ readVarint35()

uint64_t clarisma::readVarint35 ( const uint8_t *& p)
inline

◆ readVarint64()

uint64_t clarisma::readVarint64 ( const uint8_t *& p)
inline

◆ safeReadSignedVarint32()

int32_t clarisma::safeReadSignedVarint32 ( const uint8_t *& p,
const uint8_t * end )
inline

◆ safeReadSignedVarint64()

int64_t clarisma::safeReadSignedVarint64 ( const uint8_t *& p,
const uint8_t * end )
inline

◆ safeReadVarint32()

uint32_t clarisma::safeReadVarint32 ( const uint8_t *& p,
const uint8_t * end )
inline

◆ safeReadVarint64()

uint64_t clarisma::safeReadVarint64 ( const uint8_t *& p,
const uint8_t * end )
inline

◆ safeSkipVarints()

void clarisma::safeSkipVarints ( const uint8_t *& p,
int count,
const uint8_t * end )
inline

◆ skipVarints()

void clarisma::skipVarints ( const uint8_t *& p,
int count )
inline

◆ skipVarintsBackwardUnsafe()

void clarisma::skipVarintsBackwardUnsafe ( const uint8_t *& p,
int count )
inline

Moves pointer backward, skipping over the specified numbers of varints.

This function must guarantee the following:

  • p is placed right after the last varint
  • a valid varint must precede the varint to which to skip

◆ testCrc32C()

bool clarisma::testCrc32C ( const void * p,
size_t len )

◆ TinyStringConstant()

template<std::size_t N>
clarisma::TinyStringConstant ( const char(&)[N]) -> TinyStringConstant< N+1 >

◆ toZigzag() [1/2]

uint32_t clarisma::toZigzag ( int32_t v)
inline

◆ toZigzag() [2/2]

uint64_t clarisma::toZigzag ( int64_t v)
inline

◆ varintSize()

unsigned int clarisma::varintSize ( uint64_t v)
inline

Returns the number of bytes required to encode the given unsigned value as a varint (A varint requires one byte for each complete or partial run of 7 significant bits)

◆ writeSignedVarint()

void clarisma::writeSignedVarint ( uint8_t *& p,
int64_t val )
inline

◆ writeVarint()

void clarisma::writeVarint ( uint8_t *& p,
uint64_t val )
inline