The Lone C++ Coder's Blog

The Lone C++ Coder's Blog

The continued diary of an experienced C++ programmer. Thoughts on C++ and other languages I play with, Emacs, functional, non functional and sometimes non-functioning programming.

Timo Geusch

4-Minute Read

<p>This is a post I wrote several years ago and it’s been languishing in my drafts folder ever since. I’m not working on this particular codebase any more. That said, the problems caused by using Java-like getter and setter functions as the sole interface to the object in the context described in the post have a bigger impact these days as they will also affect move construction and move assignment. While I’m not opposed to using getter and setter functions in C++ in general, I…

Timo Geusch

6-Minute Read

<p>Lisp dialects like <a href="http://clojure.org/">Clojure</a> have a very rich set of algorithms that can present altered views on containers without modifying data in the underlying container. This is very important in functional languages as data is immutable and returning copies of containers is costly despite the containers being optimised for copy-on-write. Having these algorithms available prevents unnecessary data copies. While I am not going into mutating algorithms in this post, the…

Timo Geusch

3-Minute Read

<p>I’ve been doing a reasonable amount of <a href="http://clojure.org/">Clojure</a> development recently and like a lot of other Lisp dialect have marveled at the ease of separately pulling out the keys and values from a map. This is a very common operation after all, but C++ does only appear to support manual key or value extraction from a std::map.</p>

Timo Geusch

1-Minute Read

<p>I’m generally more of a grep person but sometimes it’s easier to just use the built-in search in Visual Studio, especially if you want to be able to restrict the search to parts of your Visual Studio solution. Visual Studio does have pretty powerful search built in if you do use regular expressions instead of the default text matching. Here are a couple of regexes to get you started:</p>

Timo Geusch

4-Minute Read

<p>In my previous post, I discussed <a href="https://www.lonecpluspluscoder.com/2014/12/03/managing-third-party-libraries-c-projects/" title="Managing third party libraries in C++ projects">various strategies for managing third party libraries</a>. In this post I’ll discuss a couple of techniques you can use to ensure that a specific version of your source code will get compiled with the correct version of the required libraries.</p>

Timo Geusch

6-Minute Read

<p>Every reasonably sized C++ project these days will use some third party libraries. Some of them like <a href="http://boost.org/">boost</a> are viewed as extensions of the standard libraries that no sane developer would want to be without. Then there is whatever GUI toolkit your project uses, possibly another toolkit to deal with data access, the <a href="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE libraries</a>, etc etc. You get the picture.</p>

Timo Geusch

4-Minute Read

<p><em>I originally published this post on my old blog in 2009. I’ve edited it a little for readability but left the contents unchanged, so it may be out of date and not reflect the current state of the <a href="http://www.pantheios.org/">pantheios</a> library. I also haven’t been using pantheios for logging since about 2010, and have been using <a href="http://www.boost.org/doc/libs/1_55_0/libs/log/doc/html/index.html">Boost.Log</a> instead.</em></p>

Recent Posts

Categories

About

A developer's journey. Still trying to figure out this software thing after several decades.