From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 15 Apr 2003 15:42:08 +0400 From: Sergey Vlasov To: community@altlinux.ru Message-Id: <20030415154208.20c1a9e5.vsu@altlinux.ru> In-Reply-To: <3E9B86CD.5090706@rmts.donpac.ru> References: <3E9A904C.7020404@rmts.donpac.ru> <20030414161241.3308d630.vsu@altlinux.ru> <3E9AAF1E.1090007@rmts.donpac.ru> <20030414172525.5e7481c5.vsu@altlinux.ru> <3E9B86CD.5090706@rmts.donpac.ru> X-Mailer: Sylpheed version 0.8.11 (GTK+ 1.2.10; i586-alt-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Subject: [Comm] Re: =?KOI8-R?Q?=EB=CF=CD=D0=CF=CE=CF=D7=CB=C1_=D3?= STL =?KOI8-R?Q?=D7?= gcc3 Sender: community-admin@altlinux.ru Errors-To: community-admin@altlinux.ru X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: community@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: On Tue, 15 Apr 2003 08:13:01 +0400 Прокопьев Евгений wrote: > > А, так вы пытаетесь работать с std::basic_string. > > > > Надо делать специализацию std::char_traits. В > > стандартном C++ должен определять специализации только для > > char и wchar_t - что он и делает в gcc3. Для общего случая > > определяется только пустышка без реализации. [куча ошибок поскипана] > Это случилось после того, как basic_string я заменил на > char_traits. Так менять нельзя. Нужно написать где-то в своём .h специализацию std::char_traits; лучше там же определить и typedef на std::basic_string, чтобы нельзя было им пользоваться, не объявив эту специализацию. Т.е. #include template <> struct std::char_traits { ... }; typedef std::basic_string my_super_cool_string; Можно явно указывать свой класс traits вторым параметром шаблона std::basic_string. > Собственно вопрос: где искать реализацию для char, чтобы методом > копировать/вставить/заменить сделать аналог (как-то все это не > по-человечьи), /usr/include/c++/3.2.1/bits/char_traits.h > и где читать: > > a) про реализацию стандарта C++ в gcc3 > б) про саму стандартную библиотеку C++ (по C маны есть, а тут не > предусмотрели :( ) /usr/share/doc/gcc-3.2/libstdc++