clang API Documentation

Classes | Namespaces | Enumerations | Functions
HeaderMap.cpp File Reference
#include "clang/Lex/HeaderMap.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/FileManager.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/MemoryBuffer.h"
#include <cstdio>
#include <memory>
Include dependency graph for HeaderMap.cpp:

Go to the source code of this file.

Classes

struct  clang::HMapBucket
struct  clang::HMapHeader

Namespaces

namespace  clang

Enumerations

enum  { HMAP_HeaderMagicNumber = ('h' << 24) | ('m' << 16) | ('a' << 8) | 'p', HMAP_HeaderVersion = 1, HMAP_EmptyBucketKey = 0 }

Functions

static unsigned HashHMapKey (StringRef Str)

Enumeration Type Documentation

anonymous enum
Enumerator:
HMAP_HeaderMagicNumber 
HMAP_HeaderVersion 
HMAP_EmptyBucketKey 

Definition at line 29 of file HeaderMap.cpp.


Function Documentation

static unsigned HashHMapKey ( StringRef  Str) [inline, static]

HashHMapKey - This is the 'well known' hash function required by the file format, used to look up keys in the hash table. The hash table uses simple linear probing based on this function.

Definition at line 60 of file HeaderMap.cpp.

References S, and clang::toLowercase().

Referenced by clang::HeaderMap::lookupFilename().