added missing #include
fixed swap lookup problem in MSVC 9.0 and prior