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