Ninja
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
IncludesNormalize Struct Reference

Utility functions for normalizing include paths on Windows. More...

#include <includes_normalize.h>

Public Member Functions

 IncludesNormalize (const string &relative_to)
 Normalize path relative to |relative_to|. More...
 
bool Normalize (const string &input, string *result, string *err) const
 Normalize by fixing slashes style, fixing redundant . More...
 

Static Public Member Functions

static string AbsPath (StringPiece s, string *err)
 
static string Relativize (StringPiece path, const vector< StringPiece > &start_list, string *err)
 

Private Attributes

string relative_to_
 
vector< StringPiecesplit_relative_to_
 

Detailed Description

Utility functions for normalizing include paths on Windows.

TODO: this likely duplicates functionality of CanonicalizePath; refactor.

Definition at line 23 of file includes_normalize.h.

Constructor & Destructor Documentation

◆ IncludesNormalize()

IncludesNormalize::IncludesNormalize ( const string &  relative_to)

Normalize path relative to |relative_to|.

Definition at line 127 of file includes_normalize-win32.cc.

References AbsPath(), Fatal(), relative_to_, split_relative_to_, and SplitStringPiece().

Member Function Documentation

◆ AbsPath()

string IncludesNormalize::AbsPath ( StringPiece  s,
string *  err 
)
static

Definition at line 136 of file includes_normalize-win32.cc.

References StringPiece::AsString().

Referenced by IncludesNormalize(), Normalize(), Relativize(), and TEST().

◆ Normalize()

bool IncludesNormalize::Normalize ( const string &  input,
string *  result,
string *  err 
) const

Normalize by fixing slashes style, fixing redundant .

. and . and makes the path |input| relative to |this->relative_to_| and store to |result|.

Definition at line 182 of file includes_normalize-win32.cc.

References AbsPath(), StringPiece::AsString(), CanonicalizePath(), relative_to_, Relativize(), and split_relative_to_.

Referenced by CLParser::Parse(), and TEST().

◆ Relativize()

string IncludesNormalize::Relativize ( StringPiece  path,
const vector< StringPiece > &  start_list,
string *  err 
)
static

Member Data Documentation

◆ relative_to_

string IncludesNormalize::relative_to_
private

Definition at line 37 of file includes_normalize.h.

Referenced by IncludesNormalize(), and Normalize().

◆ split_relative_to_

vector<StringPiece> IncludesNormalize::split_relative_to_
private

Definition at line 38 of file includes_normalize.h.

Referenced by IncludesNormalize(), and Normalize().


The documentation for this struct was generated from the following files: