Fwd: Re: [interprocess][move] enum template argument fails to be a valid base class

i think I spoke too fast, is_enum needs compiler intrinsics according >to boost documentation, so maybe this approach is not very useful...
Forget it. I was talking about is_union instead. God, the lack of coffee is killing me ;-) Best, Ion

----- Original Message ----- From: "Ion Gaztañaga" <igaztanaga@gmail.com> To: <boost@lists.boost.org> Sent: Thursday, April 22, 2010 9:34 AM Subject: [boost] Fwd: Re: [interprocess][move] enum template argument fails to be a valid base class
i think I spoke too fast, is_enum needs compiler intrinsics according >to boost documentation, so maybe this approach is not very useful...
Forget it. I was talking about is_union instead. God, the lack of coffee is killing me ;-)
Hrr, I have added you suggestion and in addition a specialization for is_enum to emulate the compiler behavior namespace boost { template <> class is_enum<Test::Types> : public mpl::false_ {}; } But this doesn't avoids the instantation of rv<Test::Types>. Why do you say that the bug is not in Boost.Move? Am I missing something in the protocol Boost.Move imposes? Best, Vicente

On 22/04/2010 10:00, vicente.botet wrote:
Hrr, I have added you suggestion and in addition a specialization for is_enum to emulate the compiler behavior
namespace boost { template<> class is_enum<Test::Types> : public mpl::false_ {}; }
Why? And you say "False", so evidently, the commented trait will try to instantiatie rv. And the bad part is that is_enum requires instantiation, which breaks the possibility of recursive containers. And I don't want that to happen. Is there any possibility to detect an enum without instantiating the class? Best, Ion

----- Original Message ----- From: "Ion Gaztañaga" <igaztanaga@gmail.com> To: <boost@lists.boost.org> Sent: Thursday, April 22, 2010 1:38 PM Subject: Re: [boost] Fwd: Re: [interprocess][move] enum template argument fails to be a valid base class
On 22/04/2010 10:00, vicente.botet wrote:
Hrr, I have added you suggestion and in addition a specialization for is_enum to emulate the compiler behavior
namespace boost { template<> class is_enum<Test::Types> : public mpl::false_ {}; }
Why? And you say "False", so evidently, the commented trait will try to instantiatie rv.
Sorry fot the mistake. Unfortunately after changing to true_ there is no improvement. Best, Vicente

On 22/04/2010 19:10, vicente.botet wrote:
Sorry fot the mistake. Unfortunately after changing to true_ there is no improvement.
Ok, so I will need a bit more time to solve this issue, but I'm putting my effort on a new Boost.Move version now. I'll fix it ASAP. Best, Ion
participants (2)
-
Ion Gaztañaga
-
vicente.botet