libebml_ng
Namespaces | Functions
vint.h File Reference
#include "exceptions.h"
#include "io.h"
#include "ebmlID_t.h"
#include "struct.h"
#include "struct/ull.h"
#include <array>
#include <stdexcept>
#include <string>

Go to the source code of this file.

Namespaces

 ebml
 

Functions

unsigned char ebml::vintWidth (char b)
 Determines the width (in bytes) of a variable-length integer (vint) based on its first byte. More...
 
unsigned char ebml::widthAsVint (unsigned long long n)
 Computes the minimal width (in bytes) required to encode an unsigned long long as a vint. More...
 
unsigned long long ebml::unpackVint (const char *data, unsigned char size)
 Decodes a variable-length integer (vint) from a byte array with a given size. More...
 
unsigned long long ebml::unpackVint (const char *data)
 Automatically detects the vint width and decodes the variable-length integer. More...
 
void ebml::packVint (unsigned long long n, unsigned char size, char *dest)
 Encodes an unsigned long long as a variable-length integer (vint) with a specified width. More...
 
unsigned char ebml::packVint (unsigned long long n, char *dest)
 Encodes an unsigned long long as a variable-length integer (vint) by automatically determining the required width. More...
 
unsigned long long ebml::unpackVint (const char *data, size_t dataSize, unsigned char &vintw)
 Decodes a vint from a byte array of known size. More...
 
unsigned long long ebml::unpackVint (ioBase &file, unsigned char &vintw)
 Decodes a vint from an I/O stream. More...
 
unsigned long long ebml::unpackVint (ioBase &file, off_t offset, unsigned char &vintw)
 Decodes a vint from an I/O stream starting at a specified offset. More...