3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-02 07:16:17 +00:00
z3/src/util/str_hashtable.h
Copilot 2e7b700769
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>
2026-01-21 09:30:41 -08:00

32 lines
663 B
C++

/*++
Copyright (c) 2006 Microsoft Corporation
Module Name:
str_hashtable.h
Abstract:
String hashtable. It uses Jenkin's hash function and the optimized hashtable module.
Author:
Leonardo de Moura (leonardo) 2006-09-13.
Revision History:
--*/
#pragma once
#include<string.h>
#include "util/hashtable.h"
#include "util/hash.h"
struct str_hash_proc {
unsigned operator()(char const * s) const { return string_hash(std::string_view(s), 17); }
};
struct str_eq_proc { bool operator()(char const * s1, char const * s2) const { return strcmp(s1, s2) == 0; } };
typedef ptr_hashtable<const char, str_hash_proc, str_eq_proc> str_hashtable;