Xtl

Jul 20, 2023

Library for R/W structured data to/from an external representation

XTL is a library of template classes and functions for reading/writing structured data to/from an external platform independent representation. This process is also usually known as marshalling, serialization or pickling, and is useful both for heterogeneous network programming and portable persistent storage.

Currently, XTL supports XDR Internet standard, GIOP CDR CORBA standard and readable ascii text write-only as data formats. Memory buffers and C++ iostreams are usable as data sources/targets. Besides the usual C data types basic, structs, pointers, unions, the XTL also supports C++ constructs, such as pointers to base classes and template types, namely, STL containers.

XTL does not include any kind of IDL, and as such, the programmer is required to write a “filter” for each data type. The API is somewhat modeled on the original XDR library by Sun, in that the same filter is used for both reading and writing. However, heavy usage of templates makes the API simpler and type safe. Function inlining and careful avoidance of pointers or virtual functions, also make generated code faster.



Checkout these related ports:
  • Zziplib - Library to provide transparent read access to zipped files
  • Zydis - Fast and lightweight x86/x86-64 disassembler library
  • Zycore-c - Support library with platform independent types, macros, etc for Zydis
  • Zthread - Platform-independent object-oriented C++ threading library
  • Zookeeper - Coordination Service for Distributed Applications
  • Zls - Zig LSP implementation + Zig Language Server
  • Zfp - High throughput library for compressed floating-point arrays
  • Zeal - Offline documentation browser
  • Zapcc - C++ caching compiler based on clang
  • Zanata-platform - Web-based translation platform
  • Zanata-cli - Zanata Java command line client
  • Z88dk - Complete Z80/Z180 development kit
  • Z80ex - ZiLOG Z80 CPU emulator library
  • Z80asm - Assembler for the Z80 microprocessor
  • Z80-asm - Z80 assembly code assembler and disassembler