
Hi Lubomir, "Lubomir Bourdev"wrote
FYI - we just posted a 55 minute Flash presentation regarding GIL. You may find watching it more convenient than reading the tutorial.
The flash tutorial was excellent and very informative. I hope you provide a link in the submitted documentation. AFAICS Its a very good demonstration of Generic programming, as well as use of metafunctions and boost lambda. and bringing compile time entities into runtime Below are some quick thoughts from a very amteur perspective. Note comments based on GIL in release version of ASL.1.0.17 - Rather than int width, int height for image why not image_size(width, height). - What is point used for <adobe/gil/core/utilities.hpp> ? - Isnt point2<T> always an Integer? Why is it converted to a float: #include <iterator> // shouldnt be necessary here #include <adobe/gil/core/utilities.hpp> #include <iostream> int main() { adobe::gil::point2<std::size_t> p; std::cout << typeid(p * 2).name() <<'\n'; } /* output: class adobe::gil::point2<double> */ - Is point2 * point2 useful? - Is point2 << point2 useful? - point2[] may not be legal C++ as written FWIW: http://tinyurl.com/lvufg - Arent point2's actually position vectors? - Boost.Numeric.Converter can be used for rounding and conversion of float to int. Adds range checking too, but slower, is that why you dont use it? http://www.boost.org/libs/numeric/conversion/doc/index.html - utility.hpp needs to include <iterator> - locator might be renamed cursor.