|
Boost : |
From: Jonathan Turkanis (technews_at_[hidden])
Date: 2005-07-07 23:50:47
Dear all,
I'm considering some last minute name changes for the iostreams library, and
would like some feedback.
There are two issues:
1. the names of the fundamental components streambuf_facade and stream_facade
2. inconsistent header names
(Note: these changes shouldn't affect the regression tests -- unless I botch
them)
-----------------------
streambuf_facade and stream_facade:
Before I settled on "streambuf_facade" and "stream_facade," I tried five or six
other pairs of names for these templates. I finally picked the current names
because of the analogy with the iterators library.
However, the templates are not really facades -- in the GOF sense -- and I'm not
sure that the analogy with the iterators library will be very effective in
helping users understand these templates. As a result, I'm think of using the
less technical-sounding names "generic_streambuf" and "generic_stream."
What do people think?
-----------------------
inconsistent header names:
Until now I've followed the policy that a header should have the same name as
the component it contains, if it contains a single component, and a short
descriptive name if it contains several related components. For example, the
header regex_filter.hpp contains the single component regex_filter, while the
header zlib.hpp contains the component zlib_error, zlib_params, zlib_compressor
and zlib_decompressor.
This policy has resulted in a peculiar mix of names. For instance,
boost/iostreams/filter now contains:
bzip2.hpp
counter.hpp
gzip.hpp
line_filter.hpp
newline.hpp
one_step_filter.hpp
regex_filter.hpp
stdio_filter.hpp
symmetric_filter_adapter.hpp
test.hpp
zlib.hpp
As you can see, some contain "_filter" and some don't, and it all depends on
whether the header contains more than one component, which can be hard to
remember.
I'm thinking of renaming the headers that are curently based on component names
so that all headers will have short, simple names. E.g.,
bzip2.hpp
counter.hpp
gzip.hpp
line.hpp
newline.hpp
one_step.hpp
regex.hpp
stdio.hpp
symmetric.hpp
test.hpp
zlib.hpp
Thoughts?
Best Regards,
Jonathan
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk