On 07/11/13 20:11, Borislav Stanimirov wrote:
On 07/12/2013 03:13 AM, Larry Evans wrote:
Hi Borislav.
It looks interesting and fulfills a purpose somewhat like that of Steven's TypeErasure library:
http://steven_watanabe.users.sourceforge.net/type_erasure/libs/type_erasure/...
Except it may be more dynamic. For example, the Mixin example here:
http://ibob.github.io/boost.mixin/boost_mixin/introduction.html
can add or remove methods at runtime; however, IIUC, the TypeErasure library cannot. I'd guess then that the TypeErasure method calls would be faster than those of the Mixin methods calls.
Is that about right, Borislav or Steven, or am I missing something?
-regards, Larry
I don't think there are many similarities there. The type erasure library allows you to view existing types as a set of concepts. Boost.Mixin allows you to compose types. That is the main difference.
Ah! It's clearer now.
Now, suppose the "existing type" is the mixin object type, which
has been modified as shown in the introduction.html file:
using namespace boost::mixin;
object* o = new object; // just an empty object
// xml_serializer and book_data are some classes in the project
// there are external macros you need to call, to make them available as
// mixins
mutate(o)
.add