string_string.pass.cpp revision 9cb70437e29f88448eb325298eaadd2c0eff6e4d
1ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat//===----------------------------------------------------------------------===//
2ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat//
3ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat//                     The LLVM Compiler Infrastructure
4ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat//
5ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat// This file is distributed under the University of Illinois Open Source
6ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat// License. See LICENSE.TXT for details.
7ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat//
8ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat//===----------------------------------------------------------------------===//
9ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
10ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat// <string>
11ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
12ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat// template<class charT, class traits, class Allocator>
13ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat//   bool operator==(const basic_string<charT,traits,Allocator>& lhs,
14ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat//                   const basic_string<charT,traits,Allocator>& rhs);
15ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
16ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat#include <string>
17ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat#include <cassert>
18ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
1933b344454b95ed99bad7d3fe4d493870923deaf6San Mehattemplate <class S>
2033b344454b95ed99bad7d3fe4d493870923deaf6San Mehatvoid
2133b344454b95ed99bad7d3fe4d493870923deaf6San Mehattest(const S& lhs, const S& rhs, bool x)
2233b344454b95ed99bad7d3fe4d493870923deaf6San Mehat{
23ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    assert((lhs == rhs) == x);
24ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat}
25ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
26ffd68729961f7383f2e35494a03ccdef20f86c98San Mehattypedef std::string S;
27ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat
28ffd68729961f7383f2e35494a03ccdef20f86c98San Mehatint main()
29ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat{
30ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S(""), S(""), true);
31ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S(""), S("abcde"), false);
32ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S(""), S("abcdefghij"), false);
33ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S(""), S("abcdefghijklmnopqrst"), false);
34ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S("abcde"), S(""), false);
35ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S("abcde"), S("abcde"), true);
36ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S("abcde"), S("abcdefghij"), false);
37ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S("abcde"), S("abcdefghijklmnopqrst"), false);
38ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S("abcdefghij"), S(""), false);
39ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S("abcdefghij"), S("abcde"), false);
40ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S("abcdefghij"), S("abcdefghij"), true);
41ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S("abcdefghij"), S("abcdefghijklmnopqrst"), false);
42ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S("abcdefghijklmnopqrst"), S(""), false);
43ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S("abcdefghijklmnopqrst"), S("abcde"), false);
44ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S("abcdefghijklmnopqrst"), S("abcdefghij"), false);
45ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat    test(S("abcdefghijklmnopqrst"), S("abcdefghijklmnopqrst"), true);
46ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat}
47ffd68729961f7383f2e35494a03ccdef20f86c98San Mehat