
Joel de Guzman, I'd like to enhance my future boost::layout library proposal to use your boost::fusion. Here is a simple example of the boost::layout framework, that uses boost::gill as the view parameter. A boost::layout functor takes the following form: struct layer { template <typename view_t> void operator()(view_t& view) {} }; Examples of layers could be: fill_layer<> fill; border_layer<> border; text_layer<> text; Lets say I want to combine three layers into a single drawing operation. Currently, I do it like this: typedef boost::function<void (view_t&) > layer_t; layer_t layers[] = { fill_layer<>, border_layer<>, text_layer<> } draw_layers draw(layers,sizeof(layers)/sizeof(layer_t)); boost::gil::rgb8view_t view; draw(view); This works fine, but I would like to improve it by using boost fusion. Any suggestions or hints to get me started?