Subject: [Boost-bugs] [Boost C++ Libraries] #2628: Sequence concept incorrectly fails for basic_string
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-01-01 03:38:49
#2628: Sequence concept incorrectly fails for basic_string
-------------------------------------------------+--------------------------
Reporter: Joel Lathrop <jal6806_at_[hidden]> | Owner: jsiek
Type: Bugs | Status: new
Milestone: Boost 1.38.0 | Component: concept_check
Version: Boost 1.37.0 | Severity: Problem
Keywords: concept_check Sequence basic_string |
-------------------------------------------------+--------------------------
The Sequence concept fails when tested against basic_string (e.g.
BOOST_CONCEPT_ASSERT((Sequence<T>)); ) because an extra constructor test
is included. This test is for X a(n) where n is the size of the sequence
to be created. However, section 23.1.1 table 67 of the C++ standard does
not include this test in the definition of the Sequence concept. Because
this test is in place, basic_string is rejected by the current
implementation of the Sequence concept, since basic_string does not have
this constructor. However, section 21.3 paragraph 2 of the C++ standard
states, "The class template basic_string conforms to the requirements of a
Sequence, as specified in (23.1.1)."
The fix for this should be as simple as removing the test for a
constructor of the form X a(n) in the Sequence concept implementation.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/2628> 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