// -*- C++ -*- // Author: Philippe Canal, March 2015 /************************************************************************* * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * All rights reserved. * * * * For the licensing terms see $ROOTSYS/LICENSE. * * For the list of contributors see $ROOTSYS/README/CREDITS. * *************************************************************************/ #ifndef RStringView_H #define RStringView_H #include "RConfigure.h" #ifdef R__HAS_STD_STRING_VIEW #include #else # if defined(R__HAS_STD_EXPERIMENTAL_STRING_VIEW) # include # else # include "RWrap_libcpp_string_view.h" # endif namespace std { template > using basic_string_view = ::std::experimental::basic_string_view<_CharT,_Traits>; // basic_string_view typedef names typedef basic_string_view string_view; typedef basic_string_view u16string_view; typedef basic_string_view u32string_view; typedef basic_string_view wstring_view; // template > // basic_string_view<_CharT,_Traits> // &operator=(basic_string_view<_CharT,_Traits> &lhs, const TString &rsh) { // *lhs = basic_string_view<_CharT,_Traits>(rsh); // return *lhs; // } #ifndef R__HAS_STOD_STRING_VIEW inline double stod(std::string_view str, size_t *pos) { return std::stod(str.to_string(),pos); } #endif } #endif // ifdef else R__HAS_STD_STRING_VIEW #endif // RStringView_H