def GetHeaderGuardCPPVariable(filename):
<EOL>filename = re.sub(r'<STR_LIT>', '<STR_LIT>', filename)<EOL>filename = re.sub(r'<STR_LIT>', r'<STR_LIT>', filename)<EOL>filename = filename.replace('<STR_LIT>', '<STR_LIT>').replace('<STR_LIT>', '<STR_LIT>')<EOL>fileinfo = FileInfo(filename)<EOL>file_path_from_root = fileinfo.RepositoryName()<EOL>if _root:<EOL><INDENT>suffix = os.sep<EOL>if suffix == '<STR_LIT:\\>':<EOL><INDENT>suffix += '<STR_LIT:\\>'<EOL><DEDENT>file_path_from_root = re.sub('<STR_LIT>' + _root + suffix, '<STR_LIT>', file_path_from_root)<EOL><DEDENT>return re.sub(r'<STR_LIT>', '<STR_LIT:_>', file_path_from_root).upper() + '<STR_LIT:_>'<EOL>
Returns the CPP variable that should be used as a header guard.

    Args:
      filename: The name of a C++ header file.

    Returns:
      The CPP variable that should be used as a header guard in the
      named file.