Re: [boost] Re: an xml-binary persistence library

2003-04-18 Thread David Abrahams
Robert Ramey <[EMAIL PROTECTED]> writes:

> It turns out that ALL the issues raised in the review, including
> those that I dismissed, are being addressed. I didn't really intend
>  to do this  I had resolved to improve the quality of the implementation
>  and leave most of the feature decisions unchanged as I saw them 
> as ireconcilable trade offs.  I was much surprised to discover that
> improving the implementation made apparent that what I had
> thought were trade offs where in fact artifacts of implementation 
> stratagy decisions.  
>
> Note to potential library submitters: The boost review process is
> far more rigorous than what one is normally accustomed to and I
> suspect that few are really prepared for it.  On the other hand,
> I have no doubt that this the reason for the incredible high quality
> and utility  of the boost libraries.  The only thing I can't explain
> why anyone would subject himself to this. Yet here I am.

>From your previous paragraph it appears the process was highly
valuable and did exactly what it's supposed to do... you seem to have
survived it without being unduly discouraged, and you have even been
inspired to look at the problem domain more deeply and generally.  I'm
really glad to see that, and am really looking forward to the review
of your revised library!

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

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


Re: [boost] Sandbox iterator adaptors update

2003-04-18 Thread David Abrahams
Vladimir Prus <[EMAIL PROTECTED]> writes:

> David Abrahams wrote:
>
>> > I've a very basic question for now: how to I convert "*rst" files in
>> > documentation to something nice-looking, like hmtl?
>>
>> ReStructuredText:
>> http://docutils.sourceforge.net/README.html#quick-start
>>
>> Use the html.py script in the tools/ directory
>
> Thanks, it worked. I've some initial comments now.
>
> 1. The documentation seems incomplete. 

It is.  We were really only advertising the code so far.

> I can't find the description of methods for "Derived" class of
> iterator_facade, for example.

Um, that's private, so it won't be documented (thanks Thomas!)

> 2. What is the relation with "new iterator categories". Am I
> supposed to pass old categories as template parameters to
> facade/adapter.

New or old; either one should work.

> 3. The attached code does not compile with gcc 3.2, saying that:
>
>/usr/include/c++/3.2/bits/stl_iterator_base_types.h:123: no type named `
>   iterator_category' in `class my_old_iterator'
>
> The message is correct, but... I've explicitly specified iterator category 
> when declaring iterator adaptor. Am I doing something wrong?

Yes, lots!

You need to implement at least advance, increment, equal, and
dereference in your derived iterator class in order to make a forward
iterator. Also, since your Base type is not an iterator, you need to
supply a difference_type for your adapted iterator (and there's no
eol at eof ;-)).

Also, for your particular application it looks like you might do
better by just using iterator_facade rather than iterator_adaptor.  I
quote:

To automate the repetitive work of constructing iterators, we
propose ``iterator_facade``, an iterator base class template which
provides the rich interface of standard iterators and delegates
its implementation to member functions of the derived class.  We
also propose ``iterator_adaptor``, a base class generator designed
specifically for creating iterator adaptors.  Because iterators
usually have many of the features of their underlying iterator
type, the default features of ``iterator_adaptor`` are those of
its base [#base]_. The user can selectively replace these features
in a derived iterator class.

.. [#base] The term "Base" is not meant to imply the use of
   inheritance. We have followed the lead of the standard library,
   which provides a base() function to access the underlying
   iterator object of a reverse - iterator adaptor.


> TIA,
> Volodya
>
>
> ___
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

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

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


[boost] Re: boost::dynamic_bitset supports multi-thread?

2003-04-18 Thread Gennaro Prota
On Fri, 18 Apr 2003 9:20:59 +0800, "jacon wang"
<[EMAIL PROTECTED]> wrote:

>hi,
>I want to know if boost::dynamic_bitset supports multi-thread.
>Now,when I use boost::dynamic_bitset with VC++ 6.0 and use run-time
>libarary multi-threaded dll,It will cause a INTERNAL COMPILER ERROR(1001).
>So I'm confused.Could anyone give me some advice?

ICEs (Internal compiler errors) are problems in the compiler (a.k.a.
bugs) detected by the compiler itself. You can think of them as sorts
of asserts in the compiler code. So, they should never happen. Please,
try to post a complete (short) example to reproduce the problem and
I'll see if there's a way to avoid it.


Genny.

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


[boost] Re: [config] New workaround macro

2003-04-18 Thread Gennaro Prota
On Thu, 17 Apr 2003 16:09:11 +0100, "John Maddock"
<[EMAIL PROTECTED]> wrote:


>The names are a little long

Yeah, I don't like them either :-) But I was afraid shorter names
would have been considered imprecise. If we can bear a little abuse of
language I think we could accept:

   BOOST_EXPLICIT_TEMPLATE_TYPE
   BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE

   BOOST_EXPLICIT_TEMPLATE_NON_TYPE
   BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE


If this inspires you any variation, that's welcome too :-)

Genny.

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


[boost] boost::dynamic_bitset supports multi-thread?

2003-04-18 Thread jacon wang
hi,
I want to know if boost::dynamic_bitset supports multi-thread.
Now,when I use boost::dynamic_bitset with VC++ 6.0 and use run-time
libarary multi-threaded dll,It will cause a INTERNAL COMPILER ERROR(1001).
So I'm confused.Could anyone give me some advice?

Thanks in advance.

 2003-04-18
-- 
Engineering is the art of making what you want from
things you can get.




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


Re: [boost] Sandbox iterator adaptors update

2003-04-18 Thread Vladimir Prus
David Abrahams wrote:

> > I've a very basic question for now: how to I convert "*rst" files in
> > documentation to something nice-looking, like hmtl?
>
> ReStructuredText:
> http://docutils.sourceforge.net/README.html#quick-start
>
> Use the html.py script in the tools/ directory

Thanks, it worked. I've some initial comments now.

1. The documentation seems incomplete. I can't find the description of methods
for "Derived" class of iterator_facade, for example.
2. What is the relation with "new iterator categories". Am I supposed to pass 
old categories as template parameters to facade/adapter.
3. The attached code does not compile with gcc 3.2, saying that:

   /usr/include/c++/3.2/bits/stl_iterator_base_types.h:123: no type named `
  iterator_category' in `class my_old_iterator'

The message is correct, but... I've explicitly specified iterator category 
when declaring iterator adaptor. Am I doing something wrong?

TIA,
Volodya


#include 
#include 

#include 

class my_old_iterator {
public:
my_old_iterator() : m_i(0) {}

void advance() { ++m_i; }
int current() { return m_i; }
bool eof() { return m_i == 10; }
private:
int m_i;
};


class adapted_iterator :
public boost::iterator_adaptor< adapted_iterator, my_old_iterator, int, 
	std::forward_iterator_tag>
{
public:

};

int main()
{
adapted_iterator i, e;
}___
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost