3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-22 16:27:37 +00:00

Migrate codebase to std::string_view (except z3++.h) (#8266)

* Initial plan

* Update z3 codebase to use std::string_view (except z3++.h)

- Updated params.cpp/h to use string_view internally for parameter descriptions
- Updated trace.h/cpp to accept string_view for trace tag functions
- Updated hash.h/cpp to use string_view for string_hash function
- Updated all callers of string_hash to use string_view
- Properly handled nullptr to empty string_view conversions
- All tests passing

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Add missing string_view includes to headers

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
This commit is contained in:
Copilot 2026-01-21 09:30:41 -08:00 committed by Nikolaj Bjorner
parent 260db09e25
commit 671faf8f1c
20 changed files with 85 additions and 70 deletions

View file

@ -20,6 +20,7 @@ Revision History:
#pragma once
#include<fstream>
#include<string_view>
#include "trace_tags.h"
#ifdef SINGLE_THREAD
@ -53,9 +54,9 @@ void verbose_unlock();
extern std::ofstream tout;
#define TRACE_CODE(CODE) { CODE } ((void) 0 )
void enable_trace(const char * tag);
void enable_trace(std::string_view tag);
void enable_all_trace(bool flag);
void disable_trace(const char * tag);
void disable_trace(std::string_view tag);
bool is_trace_enabled(TraceTag tag);
void close_trace();
void open_trace();
@ -63,9 +64,9 @@ void open_trace();
#else
#define TRACE_CODE(CODE) ((void) 0)
static inline void enable_trace(const char * tag) {}
static inline void enable_trace(std::string_view tag) {}
static inline void enable_all_trace(bool flag) {}
static inline void disable_trace(const char * tag) {}
static inline void disable_trace(std::string_view tag) {}
static inline bool is_trace_enabled(TraceTag tag) { return false; }
static inline void close_trace() {}
static inline void open_trace() {}