From 555f91d2ce43e8cafcce7c5303daadeaae4d2940 Mon Sep 17 00:00:00 2001 From: Philipp Grulich Date: Fri, 16 Aug 2024 20:52:17 +0100 Subject: [PATCH] fix string --- nautilus/include/nautilus/function.hpp | 9 +++++---- nautilus/include/nautilus/std/ostream.hpp | 12 ++++++------ nautilus/include/nautilus/std/string.hpp | 6 +++--- nautilus/include/nautilus/std/string_view.hpp | 6 +++--- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/nautilus/include/nautilus/function.hpp b/nautilus/include/nautilus/function.hpp index aa6ba2d8..cdafa023 100644 --- a/nautilus/include/nautilus/function.hpp +++ b/nautilus/include/nautilus/function.hpp @@ -9,6 +9,8 @@ namespace nautilus { +[[maybe_unused]] static uint64_t func_counter; + template std::string getFunctionName(R (*fnptr)(FunctionArguments...)) { Dl_info info; @@ -16,7 +18,7 @@ std::string getFunctionName(R (*fnptr)(FunctionArguments...)) { if (info.dli_sname != nullptr) { return info.dli_sname; } - return "xxx"; + return "func" + std::to_string(func_counter++); } template @@ -73,8 +75,7 @@ auto getArgumentReferences(std::string_view, void*, const ValueArguments&... arg template class CallableRuntimeFunction { public: - explicit CallableRuntimeFunction(R (*fnptr)(FunctionArguments...), std::string& functionName) - : fnptr(fnptr), functionName(functionName) {}; + explicit CallableRuntimeFunction(R (*fnptr)(FunctionArguments...), std::string& functionName) : fnptr(fnptr), functionName(functionName) {}; template auto transform(Arg argument) { @@ -105,7 +106,7 @@ class CallableRuntimeFunction { auto ptr = (void*) fnptr; auto functionArgumentReferences = getArgumentReferences("functionName", (void*) fnptr, args...); tracing::traceCall(functionName, ptr, Type::v, functionArgumentReferences); - return; + return; } #endif fnptr(transform((args))...); diff --git a/nautilus/include/nautilus/std/ostream.hpp b/nautilus/include/nautilus/std/ostream.hpp index 99772e4a..0c06e056 100644 --- a/nautilus/include/nautilus/std/ostream.hpp +++ b/nautilus/include/nautilus/std/ostream.hpp @@ -88,25 +88,25 @@ class val> { static void pipe(std::basic_ostream* ptr, T value) { auto& s = *ptr; s << value; - }; + } static void flash(std::basic_ostream* ptr) { ptr->flush(); - }; + } static void put(std::basic_ostream* ptr, CharT ch) { ptr->put(ch); - }; + } static void write(std::basic_ostream* ptr, const CharT* ch, size_t count) { ptr->write(ch, count); - }; + } static void tellp(std::basic_ostream* ptr) { ptr->tellp(); - }; + } static void seekp(std::basic_ostream* ptr, typename Traits::pos_type pos) { ptr->seekp(pos); - }; + } }; } // namespace nautilus diff --git a/nautilus/include/nautilus/std/string.hpp b/nautilus/include/nautilus/std/string.hpp index f4b15f7d..5cc48700 100644 --- a/nautilus/include/nautilus/std/string.hpp +++ b/nautilus/include/nautilus/std/string.hpp @@ -18,9 +18,9 @@ class val> { using const_pointer = typename base_type::const_pointer; public: - val>(val*> str) : data_ptr(str) { + val(val*> str) : data_ptr(str) { } - val>(val s) : data_ptr(nullptr) { + val(val s) : data_ptr(nullptr) { data_ptr = invoke(+[](const CharT* s) -> base_type* { return new base_type(s); }, s); } @@ -110,7 +110,7 @@ class val> { return invoke(+[](base_type* ptr) -> size_type { return ptr->capacity(); }, data_ptr); } - ~val>() { + ~val() { invoke(+[](base_type* ptr) -> void { delete ptr; }, data_ptr); } diff --git a/nautilus/include/nautilus/std/string_view.hpp b/nautilus/include/nautilus/std/string_view.hpp index 596ce772..52907790 100644 --- a/nautilus/include/nautilus/std/string_view.hpp +++ b/nautilus/include/nautilus/std/string_view.hpp @@ -18,12 +18,12 @@ class val> { using pointer = typename base_type::pointer; using const_pointer = typename base_type::const_pointer; - val>() : data_ptr(nullptr) { + val() : data_ptr(nullptr) { auto string_vew = new std::basic_string_view(); data_ptr = val(string_vew); } - val>(val s, val count) : data_ptr(nullptr) { + val(val s, val count) : data_ptr(nullptr) { // call new on val auto raw_s = details::getRawValue(s); auto raw_count = details::getRawValue(count); @@ -31,7 +31,7 @@ class val> { data_ptr = val(string_vew); } - val>(val s) : data_ptr(nullptr) { + val(val s) : data_ptr(nullptr) { // call new on val //auto raw_s = details::getRawValue(s); //auto string_vew = new std::basic_string_view(raw_s);