Изменения
→type erasure
== type erasure ==
http://prograholic.blogspot.ru/2011/11/type-erasure.html
Поправьте, если я не прав!
type erasure это нешаблонный объект, который позволяет в себе хранить объекты любого типа, которые удовлетворяют заданному интерфейсу.
#include <gtest/gtest.h>
#include <boost/function.hpp>
#include "type_erasure.h"
typedef boost::function<int ()> sample_signature;
TEST(TypeErasure, DeclareInterface)
{
type_erasure t;
sample_signature s(t);
}
any_iterator – подобие boost::function, но для итераторов. Позволяет одному итератору етерироваться по разным типам данных
typedef adobe::any_iterator<int, std::bidirectional_iterator_tag> any_iterator_to_int;
А потом в любом случае если нужно итерироваться по интам мы можем использовать его.
=== polymorphic function wrapper (aka {boost,std}::function) ===
=== any_iterator ===