
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of joel Sent: 06 July 2009 14:26 To: boost-users@lists.boost.org Subject: Re: [Boost-users] detect if a type has a size_t member
Hicham Mouline wrote:
which doesn't build because
error C2953: 'boost::introspection::has_member_data_maxsize' : class template has already been defined
The macro build a template meta-function that you use on your type :
BOOST_HAS_MEMBER_DATA(size_t, maxsize);
int main() { if ( boost::introspection::has_member_data_maxsize<T>::value ) { std::cout<<" T has max_size"<<std::endl; } return 0; } Thank you,
1) struct S { static const size_t maxsize =5; }; 2) struct S { static size_t maxsize; }; 3) struct S { size_t maxsize; }; Applied to S, the code doesn't compile in 1 and returns false in 2. Is there a fix that can make it work for 1, 2 and 3 ? Regards,