Hi,
First of all, I want to say that I like your library too much. It is
quite close to a library I was working one EntityRoleSubject. You
library could be extended to to take in account the subjective
programming paradigm (see below).
I have some comments/remarks/questions:
* I have some doubts about the name mixin. What a mixin has more than a
facet or an aspect? Mixins in C++ have a specific mean in the context of
CRTP. Why have you chosen the mixin name?
* The construction of the mixins in the tutorial is done always with the
default constructor. Can we do emplace construction? How can you ensure
the invariants of some mixing classes?
* The priority of the messages doens't compose well. The user needs to
have a global view of the application so that it can assign the correct
priority. I have not a better suggestion, but I think that this issue
would need more insight.
* Respect to subjective programming: it would be great to be able to
create subject from an entity so that only the mixins of the subject
would play when a reference to this subject is addressed.
subject