string_pointer.pass.cpp revision bc8d3f97eb5c958007f2713238472e0c1c8fe02
1d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary//===----------------------------------------------------------------------===//
2d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary//
3d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary// ��������������������The LLVM Compiler Infrastructure
4d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary//
5d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary// This file is distributed under the University of Illinois Open Source
6d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary// License. See LICENSE.TXT for details.
7d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary//
8d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary//===----------------------------------------------------------------------===//
9d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary
10d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary// <string>
11d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary
12d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary// template<class charT, class traits, class Allocator>
13d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary//   bool operator!=(const basic_string<charT,traits,Allocator>& lhs, const charT* rhs);
14d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary
15d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary#include <string>
16d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary#include <cassert>
17d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary
18d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canarytemplate <class S>
19d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canaryvoid
20d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canarytest(const S& lhs, const typename S::value_type* rhs, bool x)
21d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary{
22d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    assert((lhs != rhs) == x);
23d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary}
24d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary
25d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canarytypedef std::string S;
26d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary
27d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canaryint main()
28d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary{
29d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S(""), "", false);
30d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S(""), "abcde", true);
31d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S(""), "abcdefghij", true);
32d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S(""), "abcdefghijklmnopqrst", true);
33d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S("abcde"), "", true);
34d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S("abcde"), "abcde", false);
35d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S("abcde"), "abcdefghij", true);
36d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S("abcde"), "abcdefghijklmnopqrst", true);
37d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S("abcdefghij"), "", true);
38d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S("abcdefghij"), "abcde", true);
39d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S("abcdefghij"), "abcdefghij", false);
40d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S("abcdefghij"), "abcdefghijklmnopqrst", true);
41d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S("abcdefghijklmnopqrst"), "", true);
42d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S("abcdefghijklmnopqrst"), "abcde", true);
43d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S("abcdefghijklmnopqrst"), "abcdefghij", true);
44d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary    test(S("abcdefghijklmnopqrst"), "abcdefghijklmnopqrst", false);
45d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary}
46d7b3845f3d3f3498c2adc542b4b20003ac7d3ab0Hal Canary