13257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// -*- C++ -*-
20ce02245a96edc9d1b2d60653fc06e9941e6fd2aHoward Hinnant//===----------------------------------------------------------------------===//
33257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//
43257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//                     The LLVM Compiler Infrastructure
53257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//
6b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// This file is dual licensed under the MIT and the University of Illinois Open
7b64f8b07c104c6cc986570ac8ee0ed16a9f23976Howard Hinnant// Source Licenses. See LICENSE.TXT for details.
83257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//
93257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant//===----------------------------------------------------------------------===//
103257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
113257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// <regex>
123257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
133257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// template <class charT> struct regex_traits;
143257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
153257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant// static std::size_t length(const char_type* p);
163257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
173257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant#include <regex>
183257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant#include <cassert>
193257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
203257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnantint main()
213257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant{
223257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    assert(std::regex_traits<char>::length("") == 0);
233257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    assert(std::regex_traits<char>::length("1") == 1);
243257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    assert(std::regex_traits<char>::length("12") == 2);
253257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    assert(std::regex_traits<char>::length("123") == 3);
263257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant
273257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    assert(std::regex_traits<wchar_t>::length(L"") == 0);
283257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    assert(std::regex_traits<wchar_t>::length(L"1") == 1);
293257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    assert(std::regex_traits<wchar_t>::length(L"12") == 2);
303257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant    assert(std::regex_traits<wchar_t>::length(L"123") == 3);
313257c9853f0612761bbde4adfd56dce566d9f2a6Howard Hinnant}
32