Yeah, having multiple VS installations could be it. This code surely can't come from VS2005 as it can't compile it, but I vaguely remember that old Visual Studios did have problems with multiple installations.
This:
void construct(_Objty *_Ptr, _Types&&... _Args) { ::new ((void *)_Ptr) _Objty(::std:: forward<_Types>(_Args)...); } is C++11 code. Best regards, Leon
This code is not coming from boost. I think this code is coming from the xmemory0 header packaged with the Visual C++ standard library. I don't have a version as old as VS2005 to confirm what it looks like there, but I have that exact snippet of code in my local VS2015 xmemory0 header (also in the allocator header).