
2 Apr
2004
2 Apr
'04
5:55 p.m.
David Bergman wrote:
On the meta level, a trait places a Concept in relation to other Concepts, i.e., a trait is STRUCTURAL. On the object-level, a Model is related to other Models or Features.
trait<Type>::neighbor_type - relates two Concepts trait<Type>::child_type - adds a Feature
A policy is BEHAVIORAL. And one often uses policies in a dynamic setting, adding them in runtime. We, of course, often implicitly refer to the compile-time policies...
So... In A<X>::frobnicate(), 'A' is a policy, because it's behavioral, and in template<class B> struct X { template typename B::value_type value_type; }; 'B' is a trait, because it's structural?