[Boost-bugs] [Boost C++ Libraries] #2792: HP aCC rejects string_parse_tree <> in string_parse_tree.hpp

Subject: [Boost-bugs] [Boost C++ Libraries] #2792: HP aCC rejects string_parse_tree <> in string_parse_tree.hpp
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-02-22 10:11:13


#2792: HP aCC rejects string_parse_tree <> in string_parse_tree.hpp
--------------------------------------------+-------------------------------
 Reporter: Max Zinal <MaxZinal_at_[hidden]> | Owner: az_sw_dude
     Type: Bugs | Status: new
Milestone: Boost 1.39.0 | Component: date_time
  Version: Boost 1.38.0 | Severity: Problem
 Keywords: |
--------------------------------------------+-------------------------------
 When trying to use date_time's format_date_parser<> I get errors
 on string_parse_tree<> template instantiation. The error message
 says "incomplete type is not allowed", the exact compiler version
 is HP C/aC++ B3910B A.06.20.

 The core reason for the error is that string_parse_tree<> includes
 the definition of "ptree_coll" and several typedefs above it:

 template<typename charT>
 struct string_parse_tree {
    ...
    typedef std::multimap<charT, string_parse_tree > ptree_coll;
    ...
    typedef typename ptree_coll::value_type value_type;
    typedef typename ptree_coll::iterator iterator;
    ...
    ptree_coll m_next_chars;
    ..
 };

 AFAIK this is not guaranteed to work by the current C++ standard,
 because string_parse_tree<> is, generally speaking, incomplete
 at the point of instantiation of ptree_coll.

 I asked at comp.lang.c++.moderated, and these are the replies:

 http://groups.google.ru/group/comp.lang.c++.moderated/browse_thread/thread/f04915083b8f0f93/a11c78689cffb71b

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/2792>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:59 UTC