Subject: 1.3.3: g++ dislikes attempt to inherit from char_traits<char>
From: "Robert Allan Schwartz" <[email-masked]>
To: <[email-masked]>
Date: Wed, 26 Sep 2001 13:38:24 -0400

Source code:

#include <iostream>
#include <string>

using namespace std;

class case_insensitive_traits : public char_traits<char>
{
};

typedef basic_string<char, case_insensitive_traits>
case_insensitive_string;

int main(void)
{
 case_insensitive_string alphabet("AbCdEfGhIjKlMnOpQrStUvWxYz");

 return 0;
}

Compilation errors:

deleteme.cpp:6: parse error before `<'
/usr/include/g++-3/std/bastring.h: In instantiation of
`basic_string<char,case_insensitive_traits,__default_alloc_template<fals
e,0> >':
deleteme.cpp:14:   instantiated from here
/usr/include/g++-3/std/bastring.h:131: invalid use of undefined type
`class case_insensitive_traits'
deleteme.cpp:6: forward declaration of `class case_insensitive_traits'
/usr/include/g++-3/std/bastring.h: In method `class
basic_string<char,case_insensitive_traits,__default_alloc_template<false
,0> > &
basic_string<char,case_insensitive_traits,__default_alloc_template<false
,0> >::assign(const char *)':
/usr/include/g++-3/std/bastring.h:178:   instantiated from
`basic_string<char,case_insensitive_traits,__default_alloc_template<fals
e,0> >::basic_string(const char *)'
deleteme.cpp:14:   instantiated from here
/usr/include/g++-3/std/bastring.h:220: no method
`case_insensitive_traits::length'
/usr/include/g++-3/std/bastring.cc: In method `void
basic_string<char,case_insensitive_traits,__default_alloc_template<false
,0> >::Rep::copy(unsigned int, const char *, unsigned int)':
/usr/include/g++-3/std/bastring.cc:72:   instantiated from
`basic_string<char,case_insensitive_traits,__default_alloc_template<fals
e,0> >::Rep::clone()'
/usr/include/g++-3/std/bastring.h:75:   instantiated from here
/usr/include/g++-3/std/bastring.cc:139: no method
`case_insensitive_traits::copy'

Thanks,

Robert Schwartz

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/