C++ Truths Blog
- [May’19] Bootstrapping a cmake project based on Hunter in Linux and Windows
- [Mar’19] Bootstrapping a vcpkg-based project in Linux and Windows with idiomatic cmake
- [Mar’19] Bootstrapping a vcpkg-based cmake project in Visual Studio
- [Feb’19] Review of Manning’s Functional Programming in C++
- [Feb’19] Unit Testing C++ Templates and Mock Injection Using Traits
- [Dec’18] Simple Template Currying
- [Nov’18] Non-colliding Efficient type_info::hash_code Across Shared Libraries
- [Oct’18] Chained Functions Break Reference Lifetime Extension
- [Sept’18] Convenient deduction guides for std::function
- [Feb’18] Inheritance vs std::variant C++17 added std::variant and std::visit in its repertoire. They are worth a close examination. I’ve been wondering about whether they are always better than inheritance for modeling sum-types (fancy name for discriminated unions) and if not, under what circumstances they are not. We’ll compare the two approaches in this blog post.
- [Dec’17] Ground Up Functional API Design in C++ There are plenty of reasons why functional APIs look and feel different than more common object-oriented APIs. A tell-tale sign of a functional APIs is existence of a core abstraction and a set of methods with algebraic properties. The abstraction part is of course about being able to talk about just the necessary details and nothing more. The algebraic part is about being able to take one or more instances of the same abstraction and being able to create a new one following some laws.
- [Sept’17] New Tools for a More Functional C++ Bay Area ACCU Meetup Presentation
More C++ Idioms
I wrote More C++ Idioms wikibook. A collection of 92 C++ programming idioms. Some are now dated. There may be something in it if you want to go beyond the basics of C++ or understand how some of the modern C++ features looked like before someone thought of a nicer way.
Book Reviews
I helped create the following books by reviewing the pre-print manuscripts of the following C++ books. All remaining errors are author’s!
Functional Programming in C++ |
C++ Reactive Programming |
CppCon
I presented our research work in Reactive Stream Processing using RxCpp at CppCon 2015.
Videos
Checkout my other presentation videos on Vimeo.
Teaching
I enjoy teaching and writing about C++. I taught a bachelors degree course on Introduction to Computer Science using C++ in 2009 at Fisk University, Nashville, TN.