summaryrefslogtreecommitdiff
path: root/vendor
diff options
context:
space:
mode:
Diffstat (limited to 'vendor')
-rw-r--r--vendor/README.md2
-rwxr-xr-xvendor/update6
-rw-r--r--vendor/utfcpp/utf8.h4
-rw-r--r--vendor/utfcpp/utf8/checked.h19
-rw-r--r--vendor/utfcpp/utf8/core.h17
-rw-r--r--vendor/utfcpp/utf8/unchecked.h7
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** &mdash; [%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** &mdash; [%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