From 2dd4663ee68419059f327545e70095c4257b19e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Tue, 10 Mar 2026 19:29:58 +0100 Subject: New upstream version 5.3 --- include/libHX/ctype_helper.h | 2 +- include/libHX/tie.hpp | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 include/libHX/tie.hpp (limited to 'include/libHX') diff --git a/include/libHX/ctype_helper.h b/include/libHX/ctype_helper.h index 0f42c4f..85dd29b 100644 --- a/include/libHX/ctype_helper.h +++ b/include/libHX/ctype_helper.h @@ -41,7 +41,7 @@ static __inline__ bool HX_isalpha(unsigned char c) static __inline__ bool HX_isascii(unsigned char c) { - return isascii(c); + return c < 128; } static __inline__ bool HX_isdigit(unsigned char c) diff --git a/include/libHX/tie.hpp b/include/libHX/tie.hpp new file mode 100644 index 0000000..c3c9d69 --- /dev/null +++ b/include/libHX/tie.hpp @@ -0,0 +1,23 @@ +#pragma once +#include + +namespace HX { + +template class unique_proxy { + public: + unique_proxy(std::unique_ptr &a) : u(a), p(u.get()) {} + ~unique_proxy() { u.reset(p); } + typename std::unique_ptr::pointer *operator&() { return &p; } + unique_proxy &operator~() { u.reset(); p = nullptr; return *this; } + private: + std::unique_ptr &u; + typename std::unique_ptr::pointer p; +}; + +template unique_proxy +unique_tie(std::unique_ptr &u) +{ + return unique_proxy(u); +} + +} /* namespace */ -- cgit v1.2.3