Submitted by Ralph McArdell on Sun, 01 Jun 2014 17:15:59 +0100
Updated: Thu, 26 Mar 2015 15:22:06 +0000

I started experimenting with Raspberry Pi GPIO using Python [1,2]. Then the original Gertboard[3] kit was released so I ordered and built one which enabled me to play with BCM2835 peripheral IO beyond basic GPIO. At the time the Gertboard had test and example C code available [4] that, as with the Python case, I felt could be expressed more cleanly. I thought it would be interesting to see what advantages C++, hopefully C++11, features and idioms might provide.

Submitted by Ralph McArdell on Sun, 04 Aug 2013 15:49:14 +0100
Updated: Sat, 01 Nov 2014 11:19:26 +0000

I have posted some example code on GitHub showing the Shared Immutable, Exclusive Setup ideas discussed in the Comments on comments to Herb Sutter's updated GotW #6b solution (part 2) blog post to demonstrate the ideas:


Submitted by Ralph McArdell on Mon, 08 Jul 2013 15:53:13 +0100
Updated: Sat, 08 Jun 2019 10:17:14 +0100

Previously[1] I wondered, from musing when reading Herb Sutter’s updated Guru of the Week 6b[2] article, how one might – in C++11 – enforce a concurrent usage pattern in which an object can only be modified after creation by the creating thread until all modifications are done when the object becomes immutable and concurrently accessible. Concurrent access before an object becomes immutable is considered an error as are attempts to modify an object that is immutable.

Submitted by Ralph McArdell on Fri, 31 May 2013 16:49:05 +0100
Updated: Sat, 08 Jun 2019 10:16:15 +0100

I have been following Herb Sutter on his Sutter’s Mill[1] website and while reading the solution and comments to the posted solution to GotW #6b Solution: Const-Correctness, Part 2[2] some thoughts popped into my head.