# GitLab CI for C++ projects

In 2016, before moving to GitHub pages as a hosting platform for this blog, I wrote a little post about CI and automated builds for C++ projects as a synopsis for the week I spent at work with this task. Currently, we’re modernizing the technological stack for one of our paramount product (neural network middleware for the NeuroMatrix processors called NMDL) and one of the tasks is to configure and maintain the continuous integration system. The modernizing process also involved integration and renovation of tools, projects, architecture VCS and various “best practices”, I hope I’ll compile it as a talk at some C++ conference.

# Multidimensional vector allocation

This week we’ve had a little C++-related chat with my colleague. One of our projects required an allocation of deeply nested std::vector. Something like this: std::vector<std::vector<std::vector<int>>>. My colleague asked if there’s a way to initialize the vector without the for loops.

# Inserting value into the map with multiple keys

Lately, I’ve been working on a GNSS-related project and taking my PhD exams and haven’t had any time to write any articles. I tried to make this project useful for my self-education as possible without compromising the quality of the software in general. There are several little tricks I’ve learned which I’ll wrap in articles for future use. Let me share one of those just to start writing again.

# Configuration-driven polymorphism or reordering functions in run-time

Today I’d like to share with you an approach I’ve been working on for some time now. It is called a configuration-driven polymorphism (CDP) and may be used to create a chain of function calls with different signatures during the run-time via reading some arbitrary configuration file.