class IncludeCategoryManager

Declaration

class IncludeCategoryManager { /* full declaration omitted */ };

Description

This class manages priorities of C++ #include categories and calculates priorities for headers. FIXME(ioeric): move this class into implementation file when clang-format's include sorting functions are also moved here.

Declared at: clang/include/clang/Tooling/Inclusions/HeaderIncludes.h:27

Member Variables

private const clang::tooling::IncludeStyle Style
private bool IsMainFile
private std::string FileName
private SmallVector<llvm::Regex, 4> CategoryRegexs

Method Overview

Methods

IncludeCategoryManager(
    const clang::tooling::IncludeStyle& Style,
    llvm::StringRef FileName)

Declared at: clang/include/clang/Tooling/Inclusions/HeaderIncludes.h:29

Parameters

const clang::tooling::IncludeStyle& Style
llvm::StringRef FileName

int getIncludePriority(
    llvm::StringRef IncludeName,
    bool CheckMainHeader) const

Description

Returns the priority of the category which \p IncludeName belongs to. If \p CheckMainHeader is true and \p IncludeName is a main header, returns 0. Otherwise, returns the priority of the matching category or INT_MAX. NOTE: this API is not thread-safe!

Declared at: clang/include/clang/Tooling/Inclusions/HeaderIncludes.h:35

Parameters

llvm::StringRef IncludeName
bool CheckMainHeader

int getSortIncludePriority(
    llvm::StringRef IncludeName,
    bool CheckMainHeader) const

Declared at: clang/include/clang/Tooling/Inclusions/HeaderIncludes.h:36

Parameters

llvm::StringRef IncludeName
bool CheckMainHeader

bool isMainHeader(
    llvm::StringRef IncludeName) const

Declared at: clang/include/clang/Tooling/Inclusions/HeaderIncludes.h:39

Parameters

llvm::StringRef IncludeName