clang  3.7.0
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

 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)
inlinestatic

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 End, clang::Result, S, and clang::toLowercase().

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