|
Boost Users : |
Subject: Re: [Boost-users] detect if a type has a size_t member
From: Hicham Mouline (hicham_at_[hidden])
Date: 2009-07-29 07:45:32
> -----Original Message-----
> From: boost-users-bounces_at_[hidden] [mailto:boost-users-
> bounces_at_[hidden]] On Behalf Of joel
> Sent: 06 July 2009 14:26
> To: boost-users_at_[hidden]
> 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,
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net