Tagged with C++

Protocol Buffers: Display non-present fields with TextFormat

Recently I started to evaluate Google’s Protocol Buffers library, also known as protobuf, to transfer data between different processes (e.g Java application communicating with a C++ application) and between layers of the same process (e.g C#/C++ interoperability). Protocol Buffers In protobuf you define your message interface as a separate text file and invoke the protobuf … Continue reading

A Policy-Based Property Implementation in C++

Having read a proof-of-concept C++ Property implementation by Lois Goldthwaite as published in ACCU’s Overload journal #65, I decided to evaluate the usefulness of such an approach for various projects I’m currently involved in. I started to fiddle around with the code provided and ended up with a more general policy based design for property … Continue reading

Reducing Compilation Time: Unity Builds

I recently stumbled upon a method to reduce compilation times in C/C++ projects by so called Unity Builds (UB). The technique behind UB  is quite trivial: compilation time is reduced by reducing the amount of disk access during compilation. During compilation included files are walked multiple times. This is done for each translation unit the compiler … Continue reading

Generic Dependency Parser

Today I moved my Generic Dependency Parser (rcdp) utility to google code hosting. The parser is generic and can work on arbitrary files and dependency rules. For demonstration purposes rcdp recorded inter-project dependencies of Boost 1.40.0 by parsing over 6000 Boost header files. The Image below is the dependency graph for the Boost.Archive library. How is … Continue reading