The documentation for RapidXml says
Pool maintains RAPIDXML_STATIC_POOL_SIZE bytes of statically allocated memory. Until static memory is exhausted, no dynamic memory allocations are done. When static memory is exhausted, pool allocates additional blocks of memory of size RAPIDXML_DYNAMIC_POOL_SIZE each, by using global new[] and delete[] operators
I interpret this as: RapidXML uses a global memory pool. Are operations on the global memory pool thread safe? I.e. can I use several instances of RapidXML parser throughout my program without having to consider threading issues?