|
Boost : |
Subject: Re: [boost] has_member_fnc?
From: Olaf van der Spek (ml_at_[hidden])
Date: 2012-03-16 11:16:38
On Fri, Mar 16, 2012 at 4:07 PM, Stewart, Robert <Robert.Stewart_at_[hidden]> wrote:
> Neal Becker wrote:
>>
>> It seems c++11 has a new way to spell enable_if, and this can
>> be used to implement has_member_fnc, as in this example:
>>
>> http://pastebin.com/mH2cZ4NP
>
> I wish I could see the code, but pastebin is blocked here.
template <typename T> //Special template for EE_PDUs, which are weird
auto getKey_imp(const T &struc, int &key, int) ->
decltype(struc.interesting_member, void()) //If struc has an
interesting_member member, this version is used
{
key = 0;
}
template <typename T>
void getKey_imp(const T &struc, int &key, long) //struc
didn't have an interesting_member member, do nothing
{
}
public:
template <typename T>
bool getKey(const T &struc, int &key)
{
getKey_imp(struc, key, 0);
return key == 0; //Successful?
}
-- Olaf
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk