Articles on software design and programming, C++ and language independent ideas.
Enforcing stronger typing with couple of alternatives to bitmasks typically used by interfaces to select many properties at once.
Understanding concept requirements put on types by std::swap and taking benefit from std::refrence_wrapper class members.
How to encode assumptions into types and check them during compile time with no use of static_assert.
There examples of C++14 type inference failures and solutions to them.
Let's define an interface by using types and composition, where misuse is signalled by a compilation error.
A note on improving performance through wise usage of short circuiting, simple pattern matching engine with boolean operators and ternary operators.
Enabling iteration over a sequence of objects of given type without changing the type name itself. Plus, how to guarantee never-singular iterators and never-empty collections.
Well designed system is built up from multiple layers, where each layer may be complex piece of software. We will look into a single layer of the system to find out how to make it safe without sacrificing its performance.
Functions defines domain as a set of possible input values and co-domain as a set of possible output values. Let's find a way to assure we receive and reply with meaningful values. An example from production code.
Thoughts on designing software that is easy to test and benefits from dependency injection.
Plenty of software projects use source code generation to automate numerous tedious tasks. Let's have a look how to resolve code generation task in much cleaner way compared to what we find usually and make its results maintainable.