>>>>> "Lars" == Lars Gullik Bjønnes <[EMAIL PROTECTED]> writes:
Lars> Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes: >>>>>>> "Lars" == Lars Gullik Bjønnes <[EMAIL PROTECTED]> writes: >> Lars> | Lars> ... but I do not like it... >> Lars> | I can understand that you do not like it, since it adds lots Lars> of | #ifdefs. Lars> I only added those to make it uglier. I suspected that. Lars> | However, we could: >> Lars> | 1/ add the .str().c_str() thingies unconditionally. Spotting Lars> and | removing them later is not difficult. Or we could have a | Lars> tostr(ostringstream) that does the right thing. Or... Lars> but they are bad... Agreed. But one has to do something :) Lars> | 2/ we could have a lyx::regex class which is a simple wrapper Lars> (same | semantics) around boost::regex that hides the complexity Lars> of these | .c_str() Lars> possible... but not nice. I know. Lars> | 3/ Is it possible to have an automatic contructor | Lars> lyxstring::lyxstring(std::string const & s) | and a Lars> lyxstring->basic_string convertor | std::string Lars> lyxstring::operator() Lars> one way perhaps, but not the other... and not using contructors. Lars> (nor operators) How would you do it? Lars> Is the need for lyxstring that _real_? Lars> the last months should imply that it is not. I have not compiled 1.3.0cvs on my tru64 station for ages (I do it on linux because the machine is faster). This is gcc 2.95.2 on tru64 unix 4.0f with native toolchain. Just for your enjoyment, here is the result: altiplano: make formulabase.o source='../../../lyx-devel/src/mathed/formulabase.C' object='formulabase.o' libtool=no \ depfile='.deps/formulabase.Po' tmpdepfile='.deps/formulabase.TPo' \ depmode=gcc /bin/ksh ../../../lyx-devel/config/depcomp \ g++ -DHAVE_CONFIG_H -I. -I../../../lyx-devel/src/mathed -I../../src -I../../../lyx-devel/src/mathed/../ -I../../../lyx-devel/boost -I/afs/rocq/home/preval/common/include -g -O -Wno-non-template-friend -ftemplate-depth-30 -W -Wall -c -o formulabase.o `test -f ../../../lyx-devel/src/mathed/formulabase.C || echo '../../../lyx-devel/src/mathed/'`../../../lyx-devel/src/mathed/formulabase.C ../../../lyx-devel/src/mathed/formulabase.C:863: warning: #warning pretty ugly mips-tfile, /tmp/ccJ4rJVP.s:896 String too big (4222 bytes) line: #.stabs "insert_unique::5050=##4996;:t8_Rb_tree5Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt10_Select1st1Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt4less1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt9allocator1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0RCt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0;2A.;insert_equal::5051=##4984;:t8_Rb_tree5Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24! __default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt10_Select1st1Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt4less1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt9allocator1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0RCt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0;2A.;insert_unique::5052=##4984;:t8_Rb_tree5Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt10_Select1st1Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_! alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt4less1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt9allocator1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Gt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0RCt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0;2A.;insert_equal::5052:t8_Rb_tree5Zt12ba! sic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt10_Select1st1Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt4less1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt9allocator1Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Gt17_Rb_tree_iterator3Zt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZRt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0ZPt4pair2ZCt12basic_string3ZcZt18string_char_traits1Z! cZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0RCt4pair2ZCt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0Zt12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0;2A.;\\",128,0,0,0 make: *** [formulabase.o] Error 1 Now I think I understand what the warning "pretty ugly" means :) To be more serious, I think that the gcc 2.95.2 part is reasonable (ie resonably common) on a non-linux unix machine (I know you disagree with that). But I also understand that tru64 4.0f is a bit old, and it may be that version 5.x has lifted this limitation. I seem to remember though that this problem also occured on some solaris versions. JMarc