Boost logo

Boost :

From: Jonathan Turkanis (technews_at_[hidden])
Date: 2004-09-10 15:30:09

"George M. Garner Jr." <gmgarner_at_[hidden]> wrote in message
> Jonathan,
> > The problem is here ^^^^^^^ <
> Chain.hpp includes code at line 292 that derives the character type from, in
> effect, the most derived class:

Right, that's what it's supposed to do.

> This yields correct results provided you are consistent in doing this. You
> might want to include something like this in your samples since an ounce of
> prevention is worth a pound of cure:
> STATIC_CHECK(sizeof(char_type) == sizeof(typename output_filter::char_type),
> Error_char_type_mismatch_with_base_class)

Could you be more specific? There are many places in the source where I use
static asserts to make sure character types match. The problem with your
previous example is that you were misusing the base class (I don't blame you --
I blame the docs)

It's as if you were to write:

     struct printer : std::unary_function<int, void> {
          typedef int result_type;
          int operator() (int n) const { std::cout << n; }

This is an incorrect use of std::unary_function.

> Also, one good Unicode sample will accomplish more than many pages of
> documentation. The samples should show how to accomplish common programming
> tasks.

Quite right.

> Regards,
> George.


Boost list run by bdawes at, gregod at, cpdaniel at, john at