Привет, Хабр. Одним прекрасным пятничным вечером я писал обработку ошибок в одном своем хобби-проекте… Так, это вступление для другой статьи. В общем, одним прекрасным пятничным вечером мне потребовалось пройтись по `boost::variant` и что-то сделать с лежащими там данными. Вполне себе стандартная задача для `boost::variant`, и каноничный (но очень многословный) способ её решения — описать наследующуюся от `boost::static_visitor` структуру с перегруженными `operator()` и передать её в `boost::apply_visitor`. И вот этим прекрасным вечером мне почему-то стало очень лень писать всю эту кучу кода, и захотелось заиметь какой-то более простой и краткий способ описания визиторов. Что из этого вышло, можно почитать под катом. [Читать дальше →][1]
[1]:
http://habrahabr.ru/post/270689/#habracut