The CAdapt class is provided by Microsoft in order to enable using classes that override the address of operator (operator&) in STL containers. MSDN has this to say about the use of CAdapt:
Typically, you will use
CAdaptwhen you want to storeCComBSTR,CComPtr,CComQIPtr, or_com_ptr_tobjects in an STL container such as alist.
On to my quesiton:
What is the full list of STL containers with which CAdapt should be used?
If the container contains a key/value pair (such as map) please specify whether CAdapt is needed for the key or the value.