15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===// 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// The LLVM Compiler Infrastructure 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This file is dual licensed under the MIT and the University of Illinois Open 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Source Licenses. See LICENSE.TXT for details. 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//===----------------------------------------------------------------------===// 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// <string> 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// const_reverse_iterator crend() const; 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <string> 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <cassert> 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "min_allocator.h" 18868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochtemplate <class S> 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)test(const S& s) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) typename S::const_reverse_iterator ce = s.crend(); 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) assert(ce == s.rend()); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int main() 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){ 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) { 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) typedef std::string S; 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) test(S()); 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) test(S("123")); 33f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) } 345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#if __cplusplus >= 201103L 356e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) { 366e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S; 37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch test(S()); 38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch test(S("123")); 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)