|
|
|||
File indexing completed on 2026-05-10 08:36:56
0001 //===- HeaderMapTypes.h - Types for the header map format -------*- C++ -*-===// 0002 // 0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 0004 // See https://llvm.org/LICENSE.txt for license information. 0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 0006 // 0007 //===----------------------------------------------------------------------===// 0008 0009 #ifndef LLVM_CLANG_LEX_HEADERMAPTYPES_H 0010 #define LLVM_CLANG_LEX_HEADERMAPTYPES_H 0011 0012 #include <cstdint> 0013 0014 namespace clang { 0015 0016 enum { 0017 HMAP_HeaderMagicNumber = ('h' << 24) | ('m' << 16) | ('a' << 8) | 'p', 0018 HMAP_HeaderVersion = 1, 0019 HMAP_EmptyBucketKey = 0 0020 }; 0021 0022 struct HMapBucket { 0023 uint32_t Key; // Offset (into strings) of key. 0024 uint32_t Prefix; // Offset (into strings) of value prefix. 0025 uint32_t Suffix; // Offset (into strings) of value suffix. 0026 }; 0027 0028 struct HMapHeader { 0029 uint32_t Magic; // Magic word, also indicates byte order. 0030 uint16_t Version; // Version number -- currently 1. 0031 uint16_t Reserved; // Reserved for future use - zero for now. 0032 uint32_t StringsOffset; // Offset to start of string pool. 0033 uint32_t NumEntries; // Number of entries in the string table. 0034 uint32_t NumBuckets; // Number of buckets (always a power of 2). 0035 uint32_t MaxValueLength; // Length of longest result path (excluding nul). 0036 // An array of 'NumBuckets' HMapBucket objects follows this header. 0037 // Strings follow the buckets, at StringsOffset. 0038 }; 0039 0040 } // end namespace clang. 0041 0042 #endif
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|