Boost logo

Boost Users :

Subject: Re: [Boost-users] Indirectly 'recursive' type erasure
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2014-03-13 16:58:36


AMDG

On 03/13/2014 01:09 PM, Samuel Christie wrote:
> Thanks again for your help. I was also able to get that example to compile,
> which was perfect. Unfortunately, it seems rather fragile. I had copied
> most of the pieces over into a split test.hpp/test.cpp, and kept getting
> errors. I did eventually resolve the problem by more completely replacing
> them with your code directly, but I wasn't able to figure out what was
> causing the problem. Of course, that means when I tried to apply it to my
> real code, I ended up with the same error:
>

Make sure that everything is in scope:

#include <boost/mpl/eval_if.hpp>
#include <boost/mpl/identity.hpp>
#include <boost/type_erasure/is_placeholder.hpp>

Qualify the names boost::mpl::eval_if, boost::mpl::identity,
and boost::type_erasure::is_placeholder if necessary.

> solution.hpp:36:3: error: template argument 1 is invalid
> solution.hpp:36:4: error: expected identifier before '::' token
> solution.hpp:36:6: error: typedef name may not be a nested-name-specifier
> solution.hpp:36:6: error: expected ';' at end of member declaration
> solution.hpp:36:11: error: 'type' does not name a type
> solution.hpp:52:3: error: template argument 1 is invalid
> solution.hpp:52:4: error: expected identifier before '::' token
> solution.hpp:52:6: error: typedef name may not be a nested-name-specifier
> solution.hpp:52:6: error: expected ';' at end of member declaration
> solution.hpp:52:11: error: 'type' does not name a type
>
> the relevant pieces of code were the following:
>
> 31 template<class T>
> 32 struct get_neighborhood_type {
> 33 typedef typename mpl::eval_if<is_placeholder<T>,
> 34 mpl::identity<void>,
> 35 get_neighborhood_type_impl<T>
> 36 >::type type;
> 37 };
>
> <snip>
>

In Christ,
Steven Watanabe


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