
Emil Dotchevski wrote:
Andrey, a question: let's say I am the author of a uuid type, something like:
struct uuid { unsigned char value_[16]; }; <snipped> With the code snippet I attached it should look something like this: <snipped>
I'm trying to get a working program to see what it's going to look like. I got your code and added what I think would be necessary to implement conversion for a type user::uuid (just as an example.)
So far I have this: http://codepad.org/zBOc3s25, but it has compile errors. I'm sure with some patience I could get it to work but I'm hoping this will be easier for you to finish (you can edit your/mine code directly on that page and hit submit to compile/run, I find this rather convenient.)
The get_conversion_tag function is not found via ADL. Also, your compiler seems to have troubles with boost::array initialization with the initializers list. I've posted the fixed code. Aside from the aforementioned fixes I also optimized away Boost.Bind and Boost.Function usage.