I recently discovered the boost multi_index library. It appears to be an incredible resource that I am really looking forward to using. Unfortunately, I have been frustrated by the documentation and unable to get much usable code written.

The bulk of the information that has been helpful to me is in the examples. Branching out beyond what is specifically done in an example has proven to be difficult for me because of a lack of reference documentation. I am not an expert in reading templatized and type-defed code, so reading the headers themselves has been very time consuming.

That led me to wonder if Doxygen-like documentation is available? For instance, the Asio library has a very nice reference available http://www.boost.org/doc/libs/1_36_0/doc/html/boost_asio/reference.html
Looking at the TCP socket's connect method leads you here: http://www.boost.org/doc/libs/1_36_0/doc/html/boost_asio/reference/basic_stream_socket/connect/overload2.html
Here I can see the parameters and return types and in general figure out how to use this class.

Contrast that with multi_index. There doesn't appear to be comprehensive class reference documentation.
I only figured out how to do simple tasks like inserting new items into the container by looking at the examples (http://www.boost.org/doc/libs/1_36_0/libs/multi_index/example/basic.cpp).

My specific question (which the examples don't seem to cover) is how to tell when insertion fails. What if the new item's unique key constraint fails?

I have had many other, seemingly simple questions that I would hope could be answered in minutes or seconds that have turned into hours of trial and error and combing through example programs. What other resources are out there that I refer to in order to use this great library?

Thanks,
Nick