Beispiel #1
0
int main () {

    test ( "QBCDE" );
    test ( "A" );
    test ( "" );
    
    test ( L"QBCDE" );
    test ( L"A" );
    test ( L"" );
    
#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
    test ( u"QBCDE" );
    test ( u"A" );
    test ( u"" );

    test ( U"QBCDE" );
    test ( U"A" );
    test ( U"" );
#endif

#if _LIBCPP_STD_VER > 11
    {
    constexpr std::experimental::basic_string_view<char, constexpr_char_traits<char>> sv1 ( "ABCDE" );
    static_assert ( sv1.size() == 5, "");
    }
#endif
}
int main () {

    test ( "QBCDE" );
    test ( "A" );
    test ( "" );

    test ( L"QBCDE" );
    test ( L"A" );
    test ( L"" );

#if TEST_STD_VER >= 11
    test ( u"QBCDE" );
    test ( u"A" );
    test ( u"" );

    test ( U"QBCDE" );
    test ( U"A" );
    test ( U"" );
#endif

#if TEST_STD_VER > 11
    {
    constexpr std::experimental::basic_string_view<char, constexpr_char_traits<char>> sv1 ( "ABCDE" );
    static_assert ( sv1.size() == 5, "");
    }
#endif
}
void test1 ( std::experimental::basic_string_view<CharT> sv1, 
             size_t pos1, size_t n1, const CharT *s, int expected ) {
    try {
        assert(sign(sv1.compare(pos1, n1, s)) == sign(expected));
        assert(pos1 <= sv1.size());
    }
    catch (const std::out_of_range&) { assert(pos1 > sv1.size()); }
}
void test1 ( std::experimental::basic_string_view<CharT> sv, size_t n, size_t pos ) {
    try {
        std::experimental::basic_string_view<CharT> sv1 = sv.substr(pos, n);
        const size_t rlen = std::min ( n, sv.size() - pos );
        assert ( sv1.size() == rlen );
        for ( size_t i = 0; i <= rlen; ++i )
            assert ( sv[pos+i] == sv1[i] );
        }
    catch ( const std::out_of_range & ) { assert ( pos > sv.size()); }
}
void test1 ( std::experimental::basic_string_view<CharT> sv1,
             size_t pos1, size_t n1, const CharT *s, int expected ) {
    if (pos1 > sv1.size()) {
#ifndef TEST_HAS_NO_EXCEPTIONS
        try {
            sv1.compare(pos1, n1, s);
            assert(false);
        } catch (const std::out_of_range&) {
        } catch (...) {
            assert(false);
        }
#endif
    } else {
        assert(sign(sv1.compare(pos1, n1, s)) == sign(expected));
    }
}
Beispiel #6
0
int main () {
    assert ( test ( "ABCDE", 5 ));
    assert ( test ( "a", 1 ));

    assert ( test ( L"ABCDE", 5 ));
    assert ( test ( L"a", 1 ));

    assert ( test ( u"ABCDE", 5 ));
    assert ( test ( u"a", 1 ));

    assert ( test ( U"ABCDE", 5 ));
    assert ( test ( U"a", 1 ));

    {
    constexpr std::experimental::basic_string_view<char> sv ( "ABC", 2 );
    static_assert ( sv.length() ==  2,  "" );
    static_assert ( sv.front()  == 'A', "" );
    }
}
Beispiel #7
0
void test1 ( std::experimental::basic_string_view<CharT> sv, size_t n, size_t pos ) {
    if (pos > sv.size()) {
#ifndef TEST_HAS_NO_EXCEPTIONS
        try {
            std::experimental::basic_string_view<CharT> sv1 = sv.substr(pos, n);
            assert(false);
            ((void)sv1);
        } catch (const std::out_of_range&) {
            return;
        } catch (...) {
            assert(false);
        }
#endif
    } else {
        std::experimental::basic_string_view<CharT> sv1 = sv.substr(pos, n);
        const size_t rlen = std::min ( n, sv.size() - pos );
        assert ( sv1.size() == rlen );
        for ( size_t i = 0; i <= rlen; ++i )
            assert ( sv[pos+i] == sv1[i] );
    }
}
Beispiel #8
0
int main () {
    assert ( test ( "ABCDE", 5 ));
    assert ( test ( "a", 1 ));

    assert ( test ( L"ABCDE", 5 ));
    assert ( test ( L"a", 1 ));

#if TEST_STD_VER >= 11
    assert ( test ( u"ABCDE", 5 ));
    assert ( test ( u"a", 1 ));

    assert ( test ( U"ABCDE", 5 ));
    assert ( test ( U"a", 1 ));
#endif

#if TEST_STD_VER >= 11
    {
    constexpr std::experimental::basic_string_view<char> sv ( "ABC", 2 );
    static_assert ( sv.length() ==  2,  "" );
    static_assert ( sv.back()  == 'B', "" );
    }
#endif
}
Beispiel #9
0
int main () {
    assert ( test ( "ABCDE", 5 ));
    assert ( test ( "a", 1 ));

    assert ( test ( L"ABCDE", 5 ));
    assert ( test ( L"a", 1 ));

#if __cplusplus >= 201103L
    assert ( test ( u"ABCDE", 5 ));
    assert ( test ( u"a", 1 ));

    assert ( test ( U"ABCDE", 5 ));
    assert ( test ( U"a", 1 ));
#endif

#if __cplusplus >= 201103L
    {
    constexpr std::experimental::basic_string_view<char> sv ( "ABC", 2 );
    static_assert ( sv.length() ==  2,  "" );
    static_assert ( sv.back()  == 'B', "" );
    }
#endif
}
Beispiel #10
0
int main () {
    test ( "ABCDE", 5 );
    test ( "a", 1 );

    test ( L"ABCDE", 5 );
    test ( L"a", 1 );

#if TEST_STD_VER >= 11
    test ( u"ABCDE", 5 );
    test ( u"a", 1 );

    test ( U"ABCDE", 5 );
    test ( U"a", 1 );
#endif

#if TEST_STD_VER > 11
    {
    constexpr const char *s = "ABC";
    constexpr std::experimental::basic_string_view<char> sv( s, 2 );
    static_assert( sv.length() ==  2,  "" );
    static_assert( sv.data() == s, "" );
    }
#endif
}
Beispiel #11
0
int main () {
    test ( "ABCDE", 5 );
    test ( "a", 1 );

    test ( L"ABCDE", 5 );
    test ( L"a", 1 );

#if __cplusplus >= 201103L
    test ( u"ABCDE", 5 );
    test ( u"a", 1 );

    test ( U"ABCDE", 5 );
    test ( U"a", 1 );
#endif

#if _LIBCPP_STD_VER > 11
    {
    constexpr std::experimental::basic_string_view<char> sv ( "ABC", 2 );
    static_assert ( sv.length() ==  2,  "" );
    static_assert ( sv[0]  == 'A', "" );
    static_assert ( sv[1]  == 'B', "" );
    }
#endif
}
void test1 ( std::experimental::basic_string_view<CharT> sv1, const CharT *s, int expected ) {
    assert ( sign( sv1.compare(s)) == sign(expected));
}
int main () {

    test ( "QBCDE", 5 );
    test ( "QBCDE", 2 );
    test ( "", 0 );
#if _LIBCPP_STD_VER > 11
    {
    constexpr const char *s = "QBCDE";
    constexpr std::experimental::basic_string_view<char> sv1 ( s, 2 );
    static_assert ( sv1.size() == 2, "" );
    static_assert ( sv1.data() == s, "" );
    }
#endif

    test ( L"QBCDE", 5 );
    test ( L"QBCDE", 2 );
    test ( L"", 0 );
#if _LIBCPP_STD_VER > 11
    {
    constexpr const wchar_t *s = L"QBCDE";
    constexpr std::experimental::basic_string_view<wchar_t> sv1 ( s, 2 );
    static_assert ( sv1.size() == 2, "" );
    static_assert ( sv1.data() == s, "" );
    }
#endif

#if __cplusplus >= 201103L
    test ( u"QBCDE", 5 );
    test ( u"QBCDE", 2 );
    test ( u"", 0 );
#if _LIBCPP_STD_VER > 11
    {
    constexpr const char16_t *s = u"QBCDE";
    constexpr std::experimental::basic_string_view<char16_t> sv1 ( s, 2 );
    static_assert ( sv1.size() == 2, "" );
    static_assert ( sv1.data() == s, "" );
    }
#endif

    test ( U"QBCDE", 5 );
    test ( U"QBCDE", 2 );
    test ( U"", 0 );
#if _LIBCPP_STD_VER > 11
    {
    constexpr const char32_t *s = U"QBCDE";
    constexpr std::experimental::basic_string_view<char32_t> sv1 ( s, 2 );
    static_assert ( sv1.size() == 2, "" );
    static_assert ( sv1.data() == s, "" );
    }
#endif
#endif
}