Category: Tutorials

Factory pattern 0

Generic Factory in C++

A generic factory is a factory that can register any class type. It is very easy to write because we are allowed to use void pointers.


As we are simply casting a void pointer, it is left to the developer to ensure the right class type is...

Maximum Subarray 0

Maximum Subarray

Problem statement: Find the largest sum that is possible in an array. I.e., find the maximum sub-array. Solution: From the very first this problem looks complicated because of how it is framed. It sounds like we want to find the MAXIMUM from ALL THE POSSIBLE sums. To find the maximum...

C++Traits 0

C++ Traits

‘C++ Traits’ is an idiom that allows a great level of abstraction at compile time which is normally possible only by a combination of inheritance and composition. It allows an algorithm to change its behavior depending on the object’s traits, i.e., functions and member variables exposed by that object. What...

log4cxx 0

Installing log4cxx on MSYS2/Mingw-w64

In my previous post, I gave the rather simple steps to install MSYS2/Mingw-w64. Now I will tell you how to install a custom library, specifically log4cxx. Before starting, lets acknowledge that there are other libraries that might fit your logging needs. The installation steps will be similar, though here we...

VSTO installed in VS 2013 Community Edition 0

VSTO for Visual Studio 2013 (works with Community Edition also)

There are two ways to get Microsoft Office Developer Tools/VSTO for Visual Studio 2013: Download Visual Studio Tools for Office that works with Visual Studio 2013. As of today, file to be downloaded is “cba_bundle.exe“. Download Web Platform Installer (WebPI). File name is “wpilauncher.exe“. This is basically a download manager from Microsoft. It...

UML Background Dark 0

Practical UML: A Hands-On Introduction for Developers

Abstract This tutorial provides a quick introduction to the Unified Modeling Language. The heart of object-oriented problem solving is the construction of a model. The model abstracts the essential details of the underlying problem from its usually complicated real world. Several modeling tools are wrapped under the heading of the...