
-----Original Message----- From: Hicham Mouline [mailto:hicham@mouline.org] Sent: 05 July 2009 15:36 To: Hicham Mouline Subject: FW: [Boost-users] detect if a type has a size_t member
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users- bounces@lists.boost.org] On Behalf Of joel Sent: 03 July 2009 19:04 To: boost-users@lists.boost.org Subject: Re: [Boost-users] detect if a type has a size_t member
Hicham Mouline wrote:
Can I put the macro inside the struct S ? I guess not. I'd write: HAS_STATIC_MEMBER_NAMED(T, value)
which would return a integral bool or a bool type it works liek BOOST_MPL_HAS_XXXX so put it where you want to define a boolean meta-function. It supports ::value and ::type return mpl boolean. I'm sorry I can quite get how to use it. I have this:
#include <iostream> #include <boost/introspection/has_member_data.hpp> struct S { static const size_t maxsize =5; }; struct T { }; BOOST_HAS_MEMBER_DATA(S, maxsize) BOOST_HAS_MEMBER_DATA(T, maxsize) int main() { if ( boost::introspection::has_member_data_maxsize<T>::value ) { std::cout<<" T has max_size"<<std::endl; } return 0; } which doesn't build because error C2953: 'boost::introspection::has_member_data_maxsize' : class template has already been defined Hicham