Boost logo

Boost Users :

Subject: Re: [Boost-users] share_ptr and Container compilation error on new version
From: JB (general_at_[hidden])
Date: 2014-12-11 17:51:20


I just read the header files on the two different version of boost and I
think I answered my own question. The equivalent functionality was
essentially renamed element_type. I'd still appreciate confirmation
that I got that right.

Thanks!

On 12/11/2014 15:03, JB wrote:
> Hello all,
> I'm trying to build an application. This isn't an app that I wrote but
> rather inherited. I'm currently porting it from Fedora 15 to Fedora
> 20. It compiled well on gcc 4.6.3 with boost 1.46.0. However, Fedora
> 20 has gcc 4.8.3 and boost 1.54. I'm new to boost and have never used
> it before but it looks very comprehensive. As far as I know
> boost/shared_ptr is the only header this component of the application
> is including. I'm wondering if boost changes might be causing this or
> maybe gcc changes but it's difficult to tell from the documentation
> and I'm a little under the gun at the moment.
>
> This code:
>
> template<typename Container>
> class DefinableVectorFinalizer: public XmlFinalizer
> {
> typedef typename Container::value_type contained_value_type;
> typedef typename Container::value_type::value_type value_type;
> ....
> }
>
> g++ is throwing this error which seems to have some sort of problem
> with Container::value_type::value_type:
>
> ../../../../../devel/include/xcl/io/DefinableVectorFinalizer.h:31:54:
> error: no type named ‘value_type’ in
> ‘xclApp::DefinableVector<boost::shared_ptr<simApp::Project>
> >::value_type {aka class boost::shared_ptr<mainApp::Project>}’
> typedef typename Container::value_type::value_type value_type;
>
>
> xclApp::DefinableVector looks like this:
> class DefinableVector
> {
> public:
> typedef typename std::vector<T>::size_type size_type;
> typedef typename std::vector<T>::value_type value_type;
>
> typedef value_type& reference;
> typedef const value_type& const_reference;
>
> typedef typename std::vector<T>::iterator iterator;
> typedef typename std::vector<T>::const_iterator const_iterator;
> ....
> }
>
> Any insight into this would be hugely appreciated!!!
>


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