Boost logo

Boost :

Subject: [boost] [concept_check] Some issues
From: Robert Kawulak (robert.kawulak_at_[hidden])
Date: 2011-11-18 23:41:43


I've spotted some problems when playing with BCCL:

- The implementation of assignable_archetype defines private default and
copy constructors, so for example
assignable_archetype<copy_constructible_archetype<>> will not actually be
copy constructible. The same for convertible_to_archetype and
convertible_from_archetype, but additionally with copy assignment. Is this
by purpose?

- copy_constructible_archetype defines public default constructor - again,
am I overlooking something or it should not be there?

- Function and predicate archetypes also seem to provide too wide interface
(they are copy constructible and assignable). Additionally, they don't allow
for archetypes chaining since they lack the Base parameter (with the only
exception of binary_predicate_archetype - why the inconsistency?)

- Apart from the provided function object concepts and archetypes it seems
it would be useful to have a general Callable concept and the corresponding
callable_archetype, parameterised with the types of arguments and return
value. Wouldn't it be valuable to add them?

- There's boost/concept_check directory in the trunk - are the files in it
actually used anywhere? I've found no reference to them in Boost headers,
documentation doesn't mention them too.

Best regards,

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