зеркало из https://github.com/microsoft/clang-1.git
Eliminate old, useless tutorial page
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131292 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
49634cf3b9
Коммит
91c97ca3e3
|
@ -1,56 +0,0 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
||||
"http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
|
||||
<title>Clang - Quick Tutorial</title>
|
||||
<link type="text/css" rel="stylesheet" href="menu.css" />
|
||||
<link type="text/css" rel="stylesheet" href="content.css" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!--#include virtual="menu.html.incl"-->
|
||||
|
||||
<div id="content">
|
||||
|
||||
<h1>Tutorial</h1>
|
||||
|
||||
<p>Invoking the BoostCon tool:</p>
|
||||
<pre>
|
||||
$ clang -cc1 -boostcon t.cpp
|
||||
</pre>
|
||||
|
||||
<p>Teach the BoostCon action to identify and print C++ classes:</p>
|
||||
<pre>
|
||||
bool VisitCXXRecordDecl(CXXRecordDecl *D) {
|
||||
std::cout << D->getNameAsString()
|
||||
<< '\n';
|
||||
return false;
|
||||
}
|
||||
</pre>
|
||||
|
||||
<p>Walk and print base classes of a class:</p>
|
||||
<pre>
|
||||
for(CXXRecordDecl::base_class_iterator
|
||||
B = D->bases_begin(), BEnd = D->bases_end();
|
||||
B != BEnd; ++B) {
|
||||
QualType BaseType = B->getType();
|
||||
std::cout << " " << BaseType.getAsString()
|
||||
<< '\n';
|
||||
}
|
||||
</pre>
|
||||
|
||||
<p>Retrieve the C++ class declaration from a base type:</p>
|
||||
<pre>
|
||||
if (const RecordType *RTy
|
||||
= BaseType->getAs<RecordType>()) {
|
||||
RecordDecl *Base = RTy->getDecl();
|
||||
if (CXXRecordDecl *BaseCXX
|
||||
= dyn_cast<CXXRecordDecl>(Base)) {
|
||||
|
||||
}
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Загрузка…
Ссылка в новой задаче