| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef SRC_DEVELOPER_DEBUG_ZXDB_COMMON_STRING_UTIL_H_ |
| #define SRC_DEVELOPER_DEBUG_ZXDB_COMMON_STRING_UTIL_H_ |
| |
| #include <string_view> |
| |
| #include "src/developer/debug/zxdb/common/int128_t.h" |
| |
| namespace zxdb { |
| |
| // Returns true if the first argument begins in exactly the second. |
| bool StringBeginsWith(std::string_view str, std::string_view begins_with); |
| |
| // Returns true if the first argument ends in exactly the second. |
| bool StringEndsWith(std::string_view str, std::string_view ends_with); |
| |
| // This is a version of std::to_string for hex numbers. The output is always treated as unsigned |
| // so signed negative numbers will be the two's compliment using printf rules. |
| // |
| // This has two options: digits is the number of digits to 0-pad out to. Use 0 for no zero-padding. |
| // include_prefix (the default) will prepend "0x" to the output. Otherwise the output will have no |
| // prefix. |
| std::string to_hex_string(int8_t i, int digits = 0, bool include_prefix = true); |
| std::string to_hex_string(uint8_t i, int digits = 0, bool include_prefix = true); |
| std::string to_hex_string(int16_t i, int digits = 0, bool include_prefix = true); |
| std::string to_hex_string(uint16_t i, int digits = 0, bool include_prefix = true); |
| std::string to_hex_string(int32_t i, int digits = 0, bool include_prefix = true); |
| std::string to_hex_string(uint32_t i, int digits = 0, bool include_prefix = true); |
| std::string to_hex_string(int64_t i, int digits = 0, bool include_prefix = true); |
| std::string to_hex_string(uint64_t i, int digits = 0, bool include_prefix = true); |
| std::string to_hex_string(int128_t i, int digits = 0, bool include_prefix = true); |
| std::string to_hex_string(uint128_t i, int digits = 0, bool include_prefix = true); |
| |
| } // namespace zxdb |
| |
| #endif // SRC_DEVELOPER_DEBUG_ZXDB_COMMON_STRING_UTIL_H_ |