// stl_string.h
#ifndef STL_STRING_HEADER
#define STL_STRING_HEADER
// Disable warnings produced by Visual Studio. The warnings are re-enabled at
// the end of this file.
#if defined( _MSC_VER ) && (_MSC_VER <= 1200) // 1200 = MSVC 6.0.
// These must be permanently disabled. :(
# pragma warning(disable: 4503) // 'decorated name length exceeded, name was truncated.
# pragma warning(disable: 4514) // unreferenced inline/local function has been removed.
# pragma warning(disable: 4701) // Local variable 'name' may be used without having been initialized.
# pragma warning(disable: 4710) // 'function' : function not inlined.
# pragma warning(disable: 4786) // identifier was truncated to 'number' characters in the debug information.
# pragma once
# pragma warning(push, 3)
# pragma warning(disable: 4018) // signed/unsigned mismatch.
# pragma warning(disable: 4100) // unreferenced formal parameter.
# pragma warning(disable: 4146) // unary minus operator applied to unsigned type, result still unsigned.
# pragma warning(disable: 4183) // 'at': member function definition looks like a ctor, but name does not match enclosing class.
# pragma warning(disable: 4244) // 'conversion' conversion from 'type1' to 'type2', possible loss of data.
# pragma warning(disable: 4245) // conversion from 'type1' to 'type2', signed/unsigned mismatch.
# pragma warning(disable: 4511) // 'class' : copy constructor could not be generated.
# pragma warning(disable: 4512) // 'class' : assignment operator could not be generated.
# pragma warning(disable: 4663) // C++ language change: to explicitly specialize class template 'vector'.
# include <string>
# pragma warning(pop)
#else
# include <string>
#endif // _MSC_VER <= 1200
#endif // STL_STRING_HEADER