
"George M. Garner Jr." <gmgarner@erols.com> wrote in message news:cht154$fsl$1@sea.gmane.org...
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.
Jonathan