#include #include int main(int, char **) { typedef signed char sc; typedef unsigned char uc; std::cout << int('z') << std::endl; std::cout << int(sc('\300')) << std::endl; std::cout << int(uc('\300')) << std::endl; std::cout << int(char('\300')) << std::endl << std::endl; std::cout << "SC " << (sc('z') > sc('\300')) << std::endl; std::cout << "UC " << (uc('z') > uc('\300')) << std::endl; std::cout << "CH " << (char('z') > char('\300')) << std::endl; std::cout << "SV " << (std::string::value_type('z') > std::string::value_type('\300')) << std::endl; std::cout << "ST " << (std::string(1, 'z').compare( std::string(1, '\300')) > 0) << std::endl; std::cout << "BS " << (std::basic_string(1, 'z').compare( std::basic_string(1, '\300')) > 0) << std::endl; std::cout << "BU " << (std::basic_string(1, 'z').compare( std::basic_string(1, '\300')) > 0) << std::endl; std::cout << "BC " << (std::basic_string(1, 'z').compare( std::basic_string(1, '\300')) > 0) << std::endl; std::cout << "TS " << (std::char_traits::compare( reinterpret_cast("z"), reinterpret_cast("\300"), 1) > 0) << std::endl; std::cout << "TU " << (std::char_traits::compare( reinterpret_cast("z"), reinterpret_cast("\300"), 1) > 0) << std::endl; std::cout << "TC " << (std::char_traits::compare("z", "\300", 1) > 0) << std::endl; std::cout << "LS " << (! std::char_traits::lt(static_cast('z'), static_cast('\300'))) << std::endl; std::cout << "LU " << (! std::char_traits::lt(static_cast('z'), static_cast('\300'))) << std::endl; std::cout << "LC " << (! std::char_traits::lt('z', '\300')) << std::endl; std::cout << "MC " << (std::memcmp("z", "\300", 1) > 0) << std::endl; std::cout << "SC " << (std::strcmp("z", "\300") > 0) << std::endl; std::cout << "SN " << (std::strncmp("z", "\300", 1) > 0) << std::endl; std::cout << "SL " << (std::strcoll("z", "\300") > 0) << std::endl; return 0; }