diff --git a/DESCRIPTION b/DESCRIPTION index 91950cf..38c3e3f 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -2,7 +2,7 @@ Package: udpipe Type: Package Title: Tokenization, Parts of Speech Tagging, Lemmatization and Dependency Parsing with the 'UDPipe' 'NLP' Toolkit -Version: 0.8.14 +Version: 0.8.15 Maintainer: Jan Wijffels Authors@R: c( person('Jan', 'Wijffels', role = c('aut', 'cre', 'cph'), email = 'jwijffels@bnosac.be', comment = 'R wrapper'), diff --git a/NEWS.md b/NEWS.md index b78d1f0..f704e99 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,7 @@ +## CHANGES IN udpipe VERSION 0.8.15 + +- Drop C++11 from Makevars + ## CHANGES IN udpipe VERSION 0.8.14 - Add comment section in Authors@R and put aut instead of ctb for udpipe.cpp part diff --git a/src/Makevars b/src/Makevars index cc40eb2..77229ae 100644 --- a/src/Makevars +++ b/src/Makevars @@ -1,2 +1 @@ -CXX_STD=CXX11 PKG_CPPFLAGS = -DSTRICT_R_HEADERS \ No newline at end of file diff --git a/src/udpipe.cpp b/src/udpipe.cpp index e133f10..5320ef2 100644 --- a/src/udpipe.cpp +++ b/src/udpipe.cpp @@ -667,8 +667,14 @@ void utf8::decode(const std::string& str, std::u32string& decoded) { decode(str.c_str(), decoded); } -class utf8::string_decoder::iterator : public std::iterator { +class utf8::string_decoder::iterator { public: + // Required iterator traits (replaces std::iterator) + using iterator_category = std::input_iterator_tag; + using value_type = char32_t; + using difference_type = std::ptrdiff_t; + using pointer = const char32_t*; + using reference = const char32_t&; iterator(const char* str) : codepoint(0), next(str) { operator++(); } iterator(const iterator& it) : codepoint(it.codepoint), next(it.next) {} iterator& operator++() { if (next) { codepoint = decode(next); if (!codepoint) next = nullptr; } return *this; } @@ -699,8 +705,14 @@ utf8::string_decoder utf8::decoder(const std::string& str) { return string_decoder(str.c_str()); } -class utf8::buffer_decoder::iterator : public std::iterator { +class utf8::buffer_decoder::iterator { public: + // Required iterator traits (replaces std::iterator) + using iterator_category = std::input_iterator_tag; + using value_type = char32_t; + using difference_type = std::ptrdiff_t; + using pointer = const char32_t*; + using reference = const char32_t&; iterator(const char* str, size_t len) : codepoint(0), next(str), len(len) { operator++(); } iterator(const iterator& it) : codepoint(it.codepoint), next(it.next), len(it.len) {} iterator& operator++() { if (!len) next = nullptr; if (next) codepoint = decode(next, len); return *this; }