[boost] Re: New Iterator Adaptors [minor doc nitpick]

2003-04-29 Thread Alisdair Meredith
David Abrahams wrote:

 but you can view HTML formatted versions here:
 
  http://boost-consulting.com/writing/facade-and-adaptor.html
  http://boost-consulting.com/writing/new-iter-concepts.html

OK, it's petty to pick on formatting!
But for some class of symbol you have chosen to force a white
background, while the rest of the document takes the default.  On my
system this is a long way removed from white, and can be quite
distracting.

Hope to have more meaningful feedback soon, as I have a few adapators I
have been waiting to write...
[wrapping collections in an external library]

-- 
AlisdairM

___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


[boost] VC++ 7.1 __ctor error [was: iterator_adaptors and vc7.1]

2003-04-29 Thread Beman Dawes
At 06:10 AM 4/16/2003, Thomas Witt wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Thomas Witt wrote:
|
| Hi,
|
| When compiling code using iterator_adaptors with vc7.1 I often get
| errors like the following
|
| c\graphmanager_detail.cpp(76) : error C2061: syntax error : identifier
| '__ctor'
|
| H:\systems\boost_1_30_0\boost\iterator_adaptors.hpp(1409) : see
| reference to class template instantiation
|
'boost::filter_iterator_generatorPredicate,Iterator,Value,Reference,Pointer
,Category,Distance'

|
| being compiled
|
| This seems like a bug in vc7.1. Does this ring a bell for anyone?

Further investigation seems to indicate that this is not directly
related to iterator_adaptors. Seems like vc7.1 generates messages
containing __ctor whenever it is clueless.
I've had a confirmation from Brandon Bray at Microsoft:

Just letting you know that we do have the bug you noticed with __ctor in
a C2039 error in our database. It hasn't been fixed yet, but it is
scheduled to be fixed within a few weeks from now. For reference, the
bug info is:

ID:VSWhidbey 38416
TITLE: BOOST: use of default argument in constructor of class derived
   from class of same name in a different namespace, causes errors
A bit of a pain, even though easy to workaround.

--Beman

___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


RE: [boost] lexicographic

2003-04-29 Thread Paul A. Bristow
This looks neat and will sometimes be very useful in reducing mistakes. Tests OK
with MSVC 7.0.

Some more fully worked examples like using std::pair and case insensitive
strings are likely to be the most common applications, so these would help sell
its use.
(The tests are not ideal for this purpose, though illuminating examples).

For a submission, the tests could usefully use BOOST's own test suite and
perhaps for completeness add a few more like checking the free == and !=
operators.  Tests like assert(!l1) and if(l1) implicitly use the bool
conversion which might be noted in a comment.

The enum result_type which might be documented as:

  enum result_type { minus = -1, equivalent = 0, plus = +1};

lexicographic is a serious fingerfull to type :-(

Paul

PS Spelling nits:

comparision also a fingerfull compared to comparison ;-)
and cpomplex too.

Paul A Bristow, Prizet Farmhouse, Kendal, Cumbria, LA8 8AB  UK
+44 1539 561830   Mobile +44 7714 33 02 04
Mobile mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]



| -Original Message-
| From: [EMAIL PROTECTED]
| [mailto:[EMAIL PROTECTED] Behalf Of Jan Langer
| Sent: Thursday, April 17, 2003 8:27 AM
| To: [EMAIL PROTECTED]
| Subject: [boost] lexicographic
|
|
| hi,
| three weeks ago i asked for interest in a utility class for comparing
| data lexicographically. i got several suggestions, and i tried to
| incorporate them. now i put the header, a documentation file and a test
| into the sandbox. the name is now boost/utility/lexicographic.hpp.
| jan
|
| --
| jan langer ... [EMAIL PROTECTED]
| pi ist genau drei
|
|
| ___
| Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
|
|


___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


[boost] Problems compiling MPL sample in MSVC 6.5

2003-04-29 Thread Joaquín Mª López Muñoz
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/boost/boost/libs/mpl/example/inherit_linearly.cpp?rev=HEADcontent-type=text/plain

This sample (which Gennadiy provided in a post from his a few days ago)
does not compile in MSVC++ 6.5. The compiler says:

error C2039: 'index' : is not a member of 'arg-1'

If I remove all the 'index' stuff, the program compiles, but sizeof(t)
is
1 --it should be at least sizeof(int)+sizeof(char const *)+sizeof(bool).

Ideas?

Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo

___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


RE: [boost] Boost Library Guidelines

2003-04-29 Thread William E. Kempf

Paul A. Bristow said:
 | -Original Message-
 | From: [EMAIL PROTECTED]
 | [mailto:[EMAIL PROTECTED] Behalf Of Terje Slettebø |
 Sent: Friday, April 25, 2003 5:33 PM
 | To: Boost mailing list
 | Subject: Re: [boost] Boost Library Guidelines
 |
 |  May I suggest that we add to Aim for ISO Standard C++ ...
 |  Try to code so that  compiles with 'strict' compiler settings ... |
 | I use the highest warning level (4) for MSVC and Intel C++, and strict
 mode | for the latter, to not ignore any warnings/remarks by default.

 | In the cpp-files, not headers, I then selectively disable
 remarks/warnings that are
 | harmless (and there's a lot of them), until it compiles without
 | remarks/warnings. I think one should not get used to ignore warnings
 in the | output, or one could easily miss some which _does_ matter,
 which is why I | disable the ones that don't.
 |
 | In many cases, on level 4, there's _no_ practical way to turn off a |
 remark/warning, without using #pragma. Therefore, I think it may be
 better | to use a #pragma (in the cpp-file), than telling the user to
 ignore the | remarks/warnings. In header-only libraries, like much of
 the Boost | libraries, this leaves it up to the user, anyway.

 This sounds 'best practice'.  If others agree, can it be added to the
 guidelines?

It sounds good in theory, but I've never been comfortable living with it. 
I know others do, but in my experience, especially with the MS compiler,
the highest warning level produces a LOT of meaningless diagnostics which
can be very difficult to eliminate... even with pragmas.  As a best
practice suggestion, it's a great idea... as a requirement, I'd have to
voice an opinion against.

-- 
William E. Kempf


___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


[boost] Workarounded regression tools for MSVC 6

2003-04-29 Thread Vaclav Vesely
This patch allows to compile regression tools with MSVC 6.

Regards,
w


begin 666 regression.patch
[EMAIL PROTECTED]('1O;VQS+W)E9W)EW-I;VXO8V]MEL97)?W1A='5S+F-P T*
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/0T*4D-3(9I;4Z(]C=G-R;V]T+V)O
M;W-T+V)O;W-T+W1O;VQS+W)E9W)EW-I;VXO8V]MEL97)?W1A='5S+F-P
MQV#0IR971R:65V:6YG(')E=FES:6]N(#$N,3$-[EMAIL PROTECTED]@+7(Q+C$Q
M(-O;7!I;5R7W-T871URYC' -BTM+2!T;V]LR]R96=R97-S:6]N+V-O
M;7!I;5R7W-T871URYC' ),3(@36%R(#(P,#,@,# Z,[EMAIL PROTECTED],C @+3 P,# )
M,2XQ,0T**RLK('1O;VQS+W)E9W)EW-I;VXO8V]MEL97)?W1A='5S+F-P
M DR.2!!'(@,C P,R R,CHS-SHP,2 M,# P, T*0$ @+3,R+#@*S,R+#@
M0$ -B C:6YC;'5D92 \86QG;W)I=AM/@T*(-I;F-L=61E(#QI;W-TF5A
M;3X-B C:6YC;'5D92 \9G-TF5A;3X-BTC:6YC;'5D92 \8W1I;64^#0HK
M(VEN8VQU94@/)O;W-T+V-O;7!A=EB:6QI='DO8W!P7V-?:5A95RR]C
M=EM93X-B C:6YC;'5D92 \W1D97AC97!T/@T*( T*('5S:6YG('-T9#HZ
MW1R:6YG.PT*0$ @+3$T,PW(LQ-# L-R! 0 T*( @( @( @( @(')E
M='5R;B!R97-U;'0[#0H@( @( @( @('T-B @( @( @('T-BT@( @
M( @(')EW5L=YC;5A[EMAIL PROTECTED] @( @( @F5S=6QT+G)E[EMAIL PROTECTED]
M*3L-B @( @(!]#0H@( @('T-B @( @F5T=7)N(')EW5L=#L-D! 
M(TQ-C8L-R K,38V+#@0$ -B @( @( @( @PT*( @( @( @( @
M(')EW5L=YEF%S92@@,P@]S*S@@*3L-B @( @( @( @?0T*+2 @
M( @( @(!E;'-E(')EW5L=YC;5A[EMAIL PROTECTED] @( @( @(!E;'-E
M(')EW5L=YR97-IF4H,D[#0H@( @( @(!]#0H@( @( @?0T*( @
M(!]#0I 0 M,3DR+#@*S$Y,BPW($! #0H@( @( @( @(')E='5R;B!R
M97-U;'0[#0H@( @( @(!]#0H@( @( @?0T*+2 @( @(')EW5L=YC
M;5A[EMAIL PROTECTED] @( @(')EW5L=YR97-IF4H,D[#0H@( @('T-B @
M( @F5T=7)N(')EW5L=#L-B @('T-D! (TR-C L,[EMAIL PROTECTED](V,PQ-B! 
M0 T*( @(!S=')I;F@8V]MEL92@@*'!AW,@)B8@;F]?=V%R;BD-B @
M( @( _(5M'1Y7W-TFEN9R Z(!E;5M96YT7V-O;G1E;G0H(1B+ B
M8V]MEL92(@*2 I.PT*( T*+2 @(!C;VYS=!S=')I;F@)B!L:6YK*!P
M87-S([EMAIL PROTECTED]'E?W1R:6YG([EMAIL PROTECTED];65N=%]C;VYT96YT*!D8BP@(FQI
M;FLB([EMAIL PROTECTED]BT@( @8V]NW0@W1R:6YG(8@G5N* H%SR F)B A
M86QW87ES7W-H;W=?G5N7V]U='!U=D-BT@( @( _(5M'1Y7W-TFEN
M9R Z(5L96UE;G1?8V]N=5N=@@9(L()R=6XB([EMAIL PROTECTED]BT@( @W1R
M:6YG(QI8B@@%SR _(5M'1Y7W-TFEN9R Z(5L96UE;G1?8V]N=5N
M=@@9(L()L:6(B([EMAIL PROTECTED]BL@( @8V]NW0@W1R:6YG(8@;EN:R ]
M('!AW,@/R!E;7!T5]S=')I;F@.B!E;5M96YT7V-O;G1E;G0H(1B+ B
M;EN:R(@*3L-BL@( @8V]NW0@W1R:6YG(8@G5N([EMAIL PROTECTED]'!AW,@)B8@
M(6%L=V%YU]S:]W7W)U;E]O=71P=70I#0HK( @( @/R!E;7!T5]S=')I
M;F@.B!E;5M96YT7V-O;G1E;G0H(1B+ BG5N(B I.PT**R @(!S=')I
M;F@;EB(#T@%SR _(5M'1Y7W-TFEN9R Z(5L96UE;G1?8V]N=5N
M=@@9(L()L:6(B([EMAIL PROTECTED]@( @(\O('-O;[EMAIL PROTECTED]EL97)S(]U
M='!U=!T:[EMAIL PROTECTED];[EMAIL PROTECTED];B!I9B!T:5R92!AF4@;[EMAIL 
PROTECTED])R;W)S
M(]R#0H@( @(\O('=AFYI;[EMAIL PROTECTED]AIR!I9B!O;F4@;EN
[EMAIL PROTECTED](ET(-O;G1A:6YS(YO('[EMAIL PROTECTED]( @(!S
M=')I;FZ.G-IF5?='EP92!P;W,@/2!C;VUP:6QE+F9I;F0H(=;BL(#$@
M*3L-B @( @:[EMAIL PROTECTED]!P;W,@(3T@W1R:6YG.CIN]S(8F(-O;7!I;4N
M[EMAIL PROTECTED]R \/2 R#0HM( @( @( F)B!C;VUP:6QE+F9I;F0H(@
M)R I(#T]('-TFEN9SHZ;G!OR I(-O;7!I;4N8VQE87(H*3L-BL@( @
M( @(8F(-O;7!I;4N9FEN9@@)R G(D@/3T@W1R:6YG.CIN]S(D@
M8V]MEL92YR97-IF4H,[EMAIL PROTECTED]@( @(EF(@@;EB+F5M'1Y*D@
M)[EMAIL PROTECTED]EL92YE;7!T[EMAIL PROTECTED](8F(QI;FLN96UP='DH*2 F)B!R=6XN96UP
M='DH*2 I#0H@( @( @F5T=7)N(# [#0I 0 M-#(T+#@*S0R-PQ,B! 
M0 T*( @( O+R!G96YEF%T92!T:4@;EBF%R2!N86UE+!T97-T(YA
M;64L(%N9!T97-T('1Y[EMAIL PROTECTED]%B;[EMAIL PROTECTED]%T80T*( 
@(!S=')I;FZ.G-I
MF5?='EP92!R;W=?W1AG1?]S([EMAIL PROTECTED]%R9V5T+G-IF4H*3L-B @( @
M=%R9V5T(L]((\='(^/'1D/CQA(AR968]7(B(L@;EB7V1O8W-?%T
M: K()(CXB( K(QI8E]N86UE( K((\+V$^/]T9#XB.PT*+2 @(!T
M87)[EMAIL PROTECTED]@(CQT9#X\82!HF5F/5PB(B K([EMAIL PROTECTED]@I
M+G-T[EMAIL PROTECTED](L@(EPB/B(@*R!T97-T7VYA;[EMAIL PROTECTED] B/]A/CPO=0^(CL-
MBL-BL@( @:[EMAIL PROTECTED] A9G,Z.G!A=@H=5S=%]P871H+ H9G,Z.G!A=A?
M9F]R;6%T*3(I+FES7V-O;7!L971E*[EMAIL PROTECTED] @(![#0HK( @( @(!T
M97-T7W!A=@@/2 HF5L([EMAIL PROTECTED]5S=%]P871H*2YS=')I;FH*3L-BL@( @
M?0T**R @(!T87)[EMAIL PROTECTED]@(CQT9#X\82!HF5F/5PB(B K('1EW1?%T
M: K()(CXB([EMAIL PROTECTED]5S=%]N86UE(L@(CPO83X\+W1D/B([#0H@( @('1A
MF=E= K/2 B/'1D/B(@*R!T97-T7W1Y[EMAIL PROTECTED] B/]T9#XB.PT*( T*( @
M(!B;V]L(YO7W=AFY?V%V92 ](YO7W=AFX[#0I 0 M-3 U+#@@*S4Q
M,PR-! 0 T*( T*( @=F]I9!D;U]T86)[EMAIL PROTECTED]@(![#0HM( @('-T
MFEN9R!R96QA=EV92@@9G,Z.FEN:71I86Q?%T:@I+G-T[EMAIL PROTECTED](D[
M#0HM( @(')E;%T:79E+F5R87-E* P+!B;V]S=%]R;V]T+G-T[EMAIL PROTECTED]
M+G-IF4H*2LQ(D[#0HK( @('-TFEN9R!R96QA=EV93L-BL-BL@( @
M:F%M9FEL92YC;5A[EMAIL PROTECTED] @(!J86UF:6QE+G-E96MG*# I.PT**R @
M(!S=')I;F@;EN93L-BL@( @=VAI;4H('-T9#HZ9V5T;EN92@@:F%M
M9FEL92P@;EN92 I(D-BL@( @PT**R @( @('-TFEN9SHZVEZ95]T
M7!E('!OR@@;EN92YF:6YD* BW5B')O:F5C=(@*2 I.PT**R @( @
M(EF(@@]S($]('-TFEN9SHZ;G!OPT**R @( @( @)B8@;EN92YF
M:6YD* G(R@*2 ^('!OR I#0HK( @( @PT**R @( @( @]S(#T@
M;EN92YF:6YD7V9IG-T7VYO=%]O9B@@(B!=(L('!ORLQ, I.PT**R @
M( @( @:[EMAIL PROTECTED]!P;W,@/3T@W1R:6YG.CIN]S([EMAIL PROTECTED]EN=64[#0HK
M( @( @(!R96QA=EV92 ](!L:6YE+G-U8G-TB@@]S+!L:6YE+F9I
M;F1?9FERW1?;V8H((@7'0B+!P;W,@*2UP;W,@*3L-BL@( @( @()R
M96%K.PT**R @( @('T-BL@( @?0T**PT*( @(!FSHZ%T:!B:6Y?
M%T:@@;]C871E7W)O;[EMAIL PROTECTED]EV92 

[boost] [Philip.Dunstan@nautronix.com.au: is_base_and_derived bug?]

2003-04-29 Thread Philip Dunstan
Hi there,

Should this work?

I've tried it using g++ 3.2 (redhat and cygwin) and borland c++ builder
5.6.4 and it fails on the assert for all of them.


#include boost/type_traits.hpp
#include cassert

class A {};

class B : public A {};

template typename T
bool isDerivedFromA(const T t)
{
return boost::is_base_and_derivedA, T::value;
}

int main()
{
B b;
A* pa = b;
assert(isDerivedFromA(*pa));
return 0;
}


thanks,
Phil
--
Philip Dunstan
[EMAIL PROTECTED]

___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


Re: [boost] FW: New Iterator Adaptors

2003-04-29 Thread David Abrahams
Robert Ramey [EMAIL PROTECTED] writes:

Date: Tue, 29 Apr 2003 09:53:01 -0400
From: David Abrahams [EMAIL PROTECTED]

 By amazing coincidence I happen to need a special iterator_adaptor
 for my project.  I tried boost::interator_adaptor
   ^sic

Which one?  The one in the CVS or the one in the sandbox?

  - and it was just too hard to adapt.  So It seems you're on to a
 good thing here. 

Hard to understand why you say that, if it was too hard to use.

 I used the Mult-Pass iterator in the spirit lib.
 This changes an input iterator into a forward iterator.  It is of
 wide application and should be outside of spirt. sprit also has a
 file_input iterator wish should really be a simplle application of
 the multi-pass iterator to an input iterator.

 FYI my application needs something to transform escaped text
 to unescaped text and back again.  and another thing to transform
 from mult-byte strings (locale dependent) to wstring and back. 
 And these things should be composable with each other and
 other iterators such as input/output stream iterators.  I would hope
 the new system would be applicable to these use cases in a
 natural way.

Why don't you try it then?

 When will the new version be available.  

It's in the boost sandbox: boost/iterator, libs/iterator

 I've started making a couple of small templates derived from
 std::iterator... to handle the job. but would prefer to use a
 boost library if a suitable one is available.

 The docs suggest a different set of iterator catagories.  Will this be
 incompatiable with the current standard library? or a replacement for it?
 or ?

A backward-compatible replacement.  Read the docs, they give the
details.

 The docs for the new system suggest that the new system will be much
 easier to use and understand than the old one. A couple of examples
 would be nice.

Again, they're in the sandbox.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost