diff options
Diffstat (limited to 'vendor')
-rw-r--r-- | vendor/README.md | 2 | ||||
-rwxr-xr-x | vendor/update | 6 | ||||
-rw-r--r-- | vendor/utfcpp/utf8.h | 4 | ||||
-rw-r--r-- | vendor/utfcpp/utf8/checked.h | 19 | ||||
-rw-r--r-- | vendor/utfcpp/utf8/core.h | 17 | ||||
-rw-r--r-- | vendor/utfcpp/utf8/unchecked.h | 7 |
6 files changed, 41 insertions, 14 deletions
diff --git a/vendor/README.md b/vendor/README.md index af7f287dc..c6365eec4 100644 --- a/vendor/README.md +++ b/vendor/README.md @@ -48,7 +48,7 @@ This directory contains vendored dependencies that are shipped with InspIRCd to **License** — Boost Software License -**Version** — v3.1 +**Version** — v3.1.1 **Website** — [https://github.com/nemtrif/utfcpp](https://github.com/nemtrif/utfcpp) diff --git a/vendor/update b/vendor/update index 6f9ff5e86..20a4284bc 100755 --- a/vendor/update +++ b/vendor/update @@ -50,7 +50,7 @@ close $fh; my ($data, $error) = from_toml $contents; print_error "unable to parse $config: $!" if $error; -while (my ($name, $info) = each $data) { +while (my ($name, $info) = each %{$data}) { print_format "Updating <|GREEN $name|> ...\n"; my $unpackdir = File::Temp->newdir; @@ -91,7 +91,7 @@ close $fh; open($fh, '>', $readme) or print_error "unable to write $readme: $!"; print $fh $contents =~ s/\n\#\#.*//rs; -for my $name (sort keys $data) { +for my $name (sort keys %{$data}) { my $info = $data->{$name}; printf $fh "\n## %s\n\n", $name; printf $fh "**Author** — [%s](mailto:%s)\n\n", $info->{author}, $info->{email} if $info->{email}; @@ -101,4 +101,4 @@ for my $name (sort keys $data) { my $website = $info->{website} // $info->{git}; printf $fh "**Website** — [%s](%s)\n", $website, $website; } -close $fh;
\ No newline at end of file +close $fh; diff --git a/vendor/utfcpp/utf8.h b/vendor/utfcpp/utf8.h index c2c85d6d0..82b13f59f 100644 --- a/vendor/utfcpp/utf8.h +++ b/vendor/utfcpp/utf8.h @@ -31,8 +31,4 @@ DEALINGS IN THE SOFTWARE. #include "utf8/checked.h" #include "utf8/unchecked.h" -#if __cplusplus >= 201103L // C++ 11 or later -#include "utf8/cpp11.h" -#endif // C++ 11 or later - #endif // header guard diff --git a/vendor/utfcpp/utf8/checked.h b/vendor/utfcpp/utf8/checked.h index c31861e0a..648636e46 100644 --- a/vendor/utfcpp/utf8/checked.h +++ b/vendor/utfcpp/utf8/checked.h @@ -42,7 +42,7 @@ namespace utf8 uint32_t cp; public: invalid_code_point(uint32_t codepoint) : cp(codepoint) {} - virtual const char* what() const throw() { return "Invalid code point"; } + virtual const char* what() const NOEXCEPT OVERRIDE { return "Invalid code point"; } uint32_t code_point() const {return cp;} }; @@ -50,7 +50,7 @@ namespace utf8 uint8_t u8; public: invalid_utf8 (uint8_t u) : u8(u) {} - virtual const char* what() const throw() { return "Invalid UTF-8"; } + virtual const char* what() const NOEXCEPT OVERRIDE { return "Invalid UTF-8"; } uint8_t utf8_octet() const {return u8;} }; @@ -58,13 +58,13 @@ namespace utf8 uint16_t u16; public: invalid_utf16 (uint16_t u) : u16(u) {} - virtual const char* what() const throw() { return "Invalid UTF-16"; } + virtual const char* what() const NOEXCEPT OVERRIDE { return "Invalid UTF-16"; } uint16_t utf16_word() const {return u16;} }; class not_enough_room : public exception { public: - virtual const char* what() const throw() { return "Not enough space"; } + virtual const char* what() const NOEXCEPT OVERRIDE { return "Not enough space"; } }; /// The library API - functions intended to be called by the users @@ -263,11 +263,16 @@ namespace utf8 // The iterator class template <typename octet_iterator> - class iterator : public std::iterator <std::bidirectional_iterator_tag, uint32_t> { + class iterator { octet_iterator it; octet_iterator range_start; octet_iterator range_end; public: + typedef uint32_t value_type; + typedef uint32_t* pointer; + typedef uint32_t& reference; + typedef std::ptrdiff_t difference_type; + typedef std::bidirectional_iterator_tag iterator_category; iterator () {} explicit iterator (const octet_iterator& octet_it, const octet_iterator& rangestart, @@ -320,5 +325,9 @@ namespace utf8 } // namespace utf8 +#if UTF_CPP_CPLUSPLUS >= 201103L // C++ 11 or later +#include "cpp11.h" +#endif // C++ 11 or later + #endif //header guard diff --git a/vendor/utfcpp/utf8/core.h b/vendor/utfcpp/utf8/core.h index e007ca17d..244e89231 100644 --- a/vendor/utfcpp/utf8/core.h +++ b/vendor/utfcpp/utf8/core.h @@ -30,6 +30,23 @@ DEALINGS IN THE SOFTWARE. #include <iterator> +// Determine the C++ standard version. +// If the user defines UTF_CPP_CPLUSPLUS, use that. +// Otherwise, trust the unreliable predefined macro __cplusplus + +#if !defined UTF_CPP_CPLUSPLUS + #define UTF_CPP_CPLUSPLUS __cplusplus +#endif + +#if UTF_CPP_CPLUSPLUS >= 201103L // C++ 11 or later + #define OVERRIDE override + #define NOEXCEPT noexcept +#else // C++ 98/03 + #define OVERRIDE + #define NOEXCEPT throw() +#endif // C++ 11 or later + + namespace utf8 { // The typedefs for 8-bit, 16-bit and 32-bit unsigned integers diff --git a/vendor/utfcpp/utf8/unchecked.h b/vendor/utfcpp/utf8/unchecked.h index def000997..0e1b51cc7 100644 --- a/vendor/utfcpp/utf8/unchecked.h +++ b/vendor/utfcpp/utf8/unchecked.h @@ -217,9 +217,14 @@ namespace utf8 // The iterator class template <typename octet_iterator> - class iterator : public std::iterator <std::bidirectional_iterator_tag, uint32_t> { + class iterator { octet_iterator it; public: + typedef uint32_t value_type; + typedef uint32_t* pointer; + typedef uint32_t& reference; + typedef std::ptrdiff_t difference_type; + typedef std::bidirectional_iterator_tag iterator_category; iterator () {} explicit iterator (const octet_iterator& octet_it): it(octet_it) {} // the default "big three" are OK |