Go to the source code of this file.
◆ findInnermostBrackets()
find the innermost brackets, e.g., return "int const, A" for "__gnu_cxx::__aligned_membuf<std::pair<int const, A> >::_M_ptr() const"
- Parameters
-
- Returns
Definition at line 734 of file CppUtil.cpp.
735{
737 std::stack<int>
stack;
739 std::vector<bool>
used(
input.length(),
false);
740
742 {
744 {
746 }
748 {
750 {
753
754
757 {
759 {
761 }
762 }
763
765 {
768 }
769 }
770 }
771 }
774 {
775 return input.substr(p.first + 1, p.second - p.first - 1);
776 });
778}
llvm::IRBuilder IRBuilder
◆ getBeforeParenthesis()
Definition at line 107 of file CppUtil.cpp.
108{
111
114 {
120 break;
121 }
123}
◆ handleThunkFunction()
Definition at line 146 of file CppUtil.cpp.
147{
148
149
150
151
152
153
154
155
156
157
160 };
162 {
166 {
168 dname.isThunkFunc =
true;
169 return;
170 }
171 }
172}
const std::string VThunkFuncLabel
const std::string NVThunkFunLabel
◆ isOperOverload()
Definition at line 84 of file CppUtil.cpp.
85{
90 while (
leftpos != std::string::npos)
91 {
95 }
98 while (
rightpos != std::string::npos)
99 {
103 }
105}
◆ splitAndStrip()
Definition at line 799 of file CppUtil.cpp.
800{
801 std::vector<std::string>
tokens;
802 size_t start = 0, end = 0;
803
805 {
808 }
809
811
813}
std::string stripWhitespaces(const std::string &str)
◆ stripBracketsAndNamespace()
strip off brackets and namespace from classname e.g., for ‘namespace::A<...::...>::f’, we get ‘A’ by stripping off namespace and <>
Definition at line 472 of file CppUtil.cpp.
473{
477 if (
colon == std::string::npos)
478 {
480 }
481 else
482 {
483
486 }
487}
std::string getBeforeBrackets(const std::string &name)
◆ stripWhitespaces()
strip off the whitespaces from the beginning and ending of str
- Parameters
-
- Returns
Definition at line 785 of file CppUtil.cpp.
786{
787 auto start = std::find_if(
str.begin(),
str.end(), [](
unsigned char ch)
788 {
789 return !std::isspace(ch);
790 });
791 auto end = std::find_if(
str.rbegin(),
str.rend(), [](
unsigned char ch)
792 {
793 return !std::isspace(ch);
794 }).base();
795
797}
◆ clsName
◆ dyncast
◆ NVThunkFunLabel
◆ structName
◆ vfunPreLabel
◆ vtableType
◆ vtblLabelAfterDemangle
◆ vtblLabelBeforeDemangle
◆ VThunkFuncLabel
◆ zn1Label
◆ znk9Label
◆ znkLabel
◆ znkst20Label
◆ znkst23Label
◆ znkst5Label
◆ znkstLabel
◆ znst12Label
◆ znst14Label
◆ znst5Label
◆ znst6Label
◆ znst7Label
◆ znstLabel
◆ znwm
◆ ztilabel
◆ ztiprefix