Skip to content

Category Archives: C++

Cascaded Configuration Sets for C++1y

Introduction Preprocessor macros are widely used in C++ for configuring reusable modules, targeting different platforms or working around compiler’s differences. Such approach is inherited from C and used even in modern pure C++ libraries, such as boost. The aim of this work is to research on suitability of C++ templates and language features for establishing […]


USBUART is a cross-platform libusb-based library for reading/wring data via USB-UART adapters with Android support. It implements a relay from endpoints of a USB-UART converter to a pair of I/O resources, either appointed by given file descriptors, or created inside the library with pipe(2). User application may then use standard I/O operations for reading and […]

cojson – a JSON parser for constrained platforms

Introduction cojson is a C++ pull-type JSON parser/serializer for constrained platforms, such as bare metal applications on low-end MCUs. It does not use memory allocation and has almost no external dependencies. It is not intrusive – it neither forces nor implies any particular design of the application. Instead it adapts to fit any existing application […]

Implementing C++ designated initializers with templetized constructor

C99 facilitates support designated initializers: I found this handy feature very useful, since it does not require remembering order of the struct fields and simplifies refactoring and/or evolving of the existing code. C++0X and C++1X does not allow this (please follow this link for more details) This page has inspired me on a practical solution […]

This blog is protected by dr Dave\'s Spam Karma 2: 193 Spams eaten and counting...