Concept Checking Without C++0x Concepts
Wednesday, 06 October 2010
My latest article, Concept Checking Without Concepts in C++ was published on the Dr Dobb's website a couple of weeks ago.
One of the important features of the now-defunct C++0x Concepts proposal was the ability to overload functions based on whether or not their arguments met certain concepts. This article describes a way to allow that for concepts based on the presence of particular member functions.
The basic idea is that you can write traits classes that detect
particular sets of member functions. Function overloads that require
these concepts can then be enabled or disabled by
using std::enable_if
with these traits.
The example I use is checking for a Lockable type which
has lock()
, unlock()
and try_lock()
member functions, but the same technique
could easily be used for other concepts that required other member
functions.
Read the article for the full details.
Posted by Anthony Williams
[/ news /] permanent link
Tags: concepts, cplusplus
Stumble It! | Submit to Reddit | Submit to DZone
If you liked this post, why not subscribe to the RSS feed or Follow me on Twitter? You can also subscribe to this blog by email using the form on the left.
Design and Content Copyright © 2005-2024 Just Software Solutions Ltd. All rights reserved. | Privacy Policy
1 Comment
Visit the given homepage and enjoy the fantasy of playing roblox from the bottom of your heart as it is the best platform for the entertainment.