本文整理汇总了C++中pathvector::const_iterator类的典型用法代码示例。如果您正苦于以下问题:C++ const_iterator类的具体用法?C++ const_iterator怎么用?C++ const_iterator使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了const_iterator类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetCommonDirectory
CTGitPath CTGitPathList::GetCommonDirectory() const
{
if (m_commonBaseDirectory.IsEmpty())
{
PathVector::const_iterator it;
for(it = m_paths.begin(); it != m_paths.end(); ++it)
{
const CTGitPath& baseDirectory = it->GetDirectory();
if(m_commonBaseDirectory.IsEmpty())
{
m_commonBaseDirectory = baseDirectory;
}
else if(!m_commonBaseDirectory.IsEquivalentTo(baseDirectory))
{
// Different path
m_commonBaseDirectory.Reset();
break;
}
}
}
// since we only checked strings, not paths,
// we have to make sure now that we really return a *path* here
PathVector::const_iterator iter;
for(iter = m_paths.begin(); iter != m_paths.end(); ++iter)
{
if (!m_commonBaseDirectory.IsAncestorOf(*iter))
{
m_commonBaseDirectory = m_commonBaseDirectory.GetContainingDirectory();
break;
}
}
return m_commonBaseDirectory;
}
示例2: GetCommonRoot
CTGitPath CTGitPathList::GetCommonRoot() const
{
if (IsEmpty())
return CTGitPath();
if (GetCount() == 1)
return m_paths[0];
// first entry is common root for itself
// (add trailing '\\' to detect partial matches of the last path element)
CString root = m_paths[0].GetWinPathString() + _T('\\');
int rootLength = root.GetLength();
// determine common path string prefix
for (PathVector::const_iterator it = m_paths.begin() + 1; it != m_paths.end(); ++it)
{
CString path = it->GetWinPathString() + _T('\\');
int newLength = CStringUtils::GetMatchingLength(root, path);
if (newLength != rootLength)
{
root.Delete(newLength, rootLength);
rootLength = newLength;
}
}
// remove the last (partial) path element
if (rootLength > 0)
root.Delete(root.ReverseFind(_T('\\')), rootLength);
// done
return CTGitPath(root);
}
示例3: if
bool
CTGitPathList::AreAllPathsFilesInOneDirectory() const
{
// Check if all the paths are files and in the same directory
PathVector::const_iterator it;
m_commonBaseDirectory.Reset();
for(it = m_paths.begin(); it != m_paths.end(); ++it)
{
if(it->IsDirectory())
{
return false;
}
const CTGitPath& baseDirectory = it->GetDirectory();
if(m_commonBaseDirectory.IsEmpty())
{
m_commonBaseDirectory = baseDirectory;
}
else if(!m_commonBaseDirectory.IsEquivalentTo(baseDirectory))
{
// Different path
m_commonBaseDirectory.Reset();
return false;
}
}
return true;
}
示例4: WriteToFile
bool CTGitPathList::WriteToFile(const CString& sFilename, bool bANSI /* = false */) const
{
try
{
if (bANSI)
{
CStdioFile file(sFilename, CFile::typeText | CFile::modeReadWrite | CFile::modeCreate);
PathVector::const_iterator it;
for(it = m_paths.begin(); it != m_paths.end(); ++it)
{
CStringA line = CStringA(it->GetGitPathString()) + '\n';
file.Write(line, line.GetLength());
}
file.Close();
}
else
{
CStdioFile file(sFilename, CFile::typeBinary | CFile::modeReadWrite | CFile::modeCreate);
PathVector::const_iterator it;
for(it = m_paths.begin(); it != m_paths.end(); ++it)
{
file.WriteString(it->GetGitPathString()+_T("\n"));
}
file.Close();
}
}
catch (CFileException* pE)
{
CTraceToOutputDebugString::Instance()(__FUNCTION__ ": CFileException in writing temp file\n");
pE->Delete();
return false;
}
return true;
}
示例5: CreateAsteriskSeparatedString
CString CTGitPathList::CreateAsteriskSeparatedString() const
{
CString sRet;
PathVector::const_iterator it;
for(it = m_paths.begin(); it != m_paths.end(); ++it)
{
if (!sRet.IsEmpty())
sRet += _T("*");
sRet += it->GetWinPathString();
}
return sRet;
}
示例6: DeleteAllPaths
void CTSVNPathList::DeleteAllPaths(bool bTrash, bool bFilesOnly, HWND hErrorWnd)
{
if (m_paths.empty())
return;
PathVector::const_iterator it;
SortByPathname (true); // nested ones first
CString sPaths;
for (it = m_paths.begin(); it != m_paths.end(); ++it)
{
if ((it->Exists())&&((it->IsDirectory() != bFilesOnly)||!bFilesOnly))
{
if (!it->IsDirectory())
::SetFileAttributes(it->GetWinPath(), FILE_ATTRIBUTE_NORMAL);
sPaths += it->GetWinPath();
sPaths += '\0';
}
}
if (sPaths.IsEmpty())
return;
sPaths += '\0';
sPaths += '\0';
DeleteViaShell((LPCTSTR)sPaths, bTrash, hErrorWnd);
Clear();
}
示例7: printable
std::string ContextGen::printable(const PathVector& val)
{
std::string res;
if(val.empty())
return "(empty vector)";
else
res = "(vector)";
Color col(getColorMode());
for(PathVector::const_iterator it = val.begin(); it != val.end(); ++it)
{
res.append(col.red("\n * "));
if(it->isNative()) res.append(col.yellow("[NATIVE] "));
else if(it->isForeign()) res.append(col.yellow("[FOREIGN] "));
else res.append(col.yellow("[NEITHER] ")); // is ok, if windows parity build and unix path with windows backend
res.append(it->get());
}
return res;
}