avoided reliance on template parameter array-to-pointer decay when calling std::equal since it was posing problems for ICC EM64T 9.1 over MSVC++ 8.0