error instantiating std::map on an incomplete type
--------------------------------------------------
Key: STDCXX-152
URL: http://issues.apache.org/jira/browse/STDCXX-152
Project: C++ Standard Library
Type: Improvement
Components: 23. Containers
Versions: 4.1.2, 4.1.3
Environment: all
Reporter: Martin Sebor
>From
>http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-user/200602.mbox/[EMAIL
> PROTECTED]:
I am trying to use Boost built using stdcxx on Solaris. I was able to build
the date_time
library but when I try to compile a test program I end up with errors related
to incomplete
types. I have narrowed the issue to the following code
#include <map>
#include <string>
using namespace std;
template <class T>
struct C {
typedef multimap<T,C> maps;
typedef typename maps::value_type value_type;
};
int main () {
C<std::string> c;
}
When I compile using the default Sun CC libraries or rwtools7_std or
stlport4, the code
compiles fine. But when I compile using stdcxx, I end up with the following
errors.
"/opt/idev3/dbapatla/apache-stdcxx-4.1.3/include/rw/_pair.h", line 55: Error:
In this declaration
"second" is of an incomplete type "C<std::string>".
"/opt/idev3/dbapatla/apache-stdcxx-4.1.3/include/rw/_tree.h", line 86:
Where: While specializing
"std::pair<const std::string, C<std::string>>".
"/opt/idev3/dbapatla/apache-stdcxx-4.1.3/include/rw/_tree.h", line 86:
Where: Specialized
in __rw::__rw_rb_tree_node<std::allocator<std::pair<const std::string,
C<std::string>>>,
std::pair<const std::string, C<std::string>>, std::string,
__rw::__select1st<std::pair<const
std::string, C<std::string>>, std::string>>.
"/opt/idev3/dbapatla/apache-stdcxx-4.1.3/include/rw/_tree.h", line 259:
Where: Specialized
in __rw::__rb_tree<std::string, std::pair<const std::string, C<std::string>>,
__rw::__select1st<std::pair<const std::string, C<std::string>>, std::string>,
std::less<std::string>, std::allocator<std::pair<const std::string,
C<std::string>>>>.
"/opt/idev3/dbapatla/apache-stdcxx-4.1.3/include/map", line 323: Where:
Specialized in
std::multimap<std::string, C<std::string>, std::less<std::string>,
std::allocator<std::pair<const
std::string, C<std::string>>>>.
"test2.cpp", line 9: Where: Specialized in C<std::string>.
"test2.cpp", line 13: Where: Specialized in non-template code.
1 Error(s) detected.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira