Boost logo

Boost :

From: Ron Garcia (garcia_at_[hidden])
Date: 2002-07-19 20:40:35


Some comments (so far), based on the mpl_18_jul_02 archive:

The MPL paper:
- Abstract: What's a function class? The abstract should avoid
ambiguous terminology.
- Occasional grammatical errors throughout the paper.
- The use of the lambda placeholder _1 does not express which
namespace it is located in. I would like to see at least the first
example provide a using statement.
- The example in 2.3.4 of implementing "largest" using the mpl has a
bug. The metafunction call inside "largest" needs an extra '::type' to
dereference the typelist iterator to return the max_element's type.

Reference documentation:
- Documentation for Trivial_Iterator is missing.

- Missing reference documentation:
# Metafunctions
apply
apply_if
always
copy [incomplete]
copy_if [incomplete]
copy_backward
copy_backward_if
erase_all [incomplete]
erase_if [incomplete]
reverse [incomplete]
sort [incomplete]
unique [incomplete]
iter_fold_backward
max_element
pair
O1_size
protect
identity
size_of
same_as
not_same_as
if_
if_c
project1st
project2nd
arg
next [incomplete]
prior [incomplete]

# Lambda Facility
bind
compose
lambda
placeholders

# Miscellaneous
alias.hpp
assert_is_same
sequence tags
filter_view
transform_view
iterator_range
iterator tags
iterator_category

# Value Types
bool_c
int_c
integral_c
fixed_c
rational_c
void_

Test Cases:
- No Test Cases For:
01_size
arg(*)
begin
end
clear
compose
contains
filter_view
fold
fold_backward
insert
insert_range
iter_fold(**)
iter_fold_backward
max_element
fixed_c
rational_c
pair
pop_back
prior
project1st
project2nd
push_back
remove
remove_if
select1st
select2nd
transform_view
vector
vector_c

Misc:
- While 'fold' is a synonym for std::accumulate in the functional
programming
world, why not call it 'accumulate'? This would better retain the STL
analogy argued for by the library documentation.
- 'iter_fold' seems like it could use a more descriptive name.

(*) - are 'arg' and 'arity' implementation details?
(**) - as the heart of many other algorithms, perhaps iter_fold does not
need its own independent testcase?

- ron


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk