14 return isalnum((
int)
c) ||
c ==
'_' ||
c ==
')' ||
c ==
'(' ;
21 std::string::size_type i =
name.size() - 1;
24 std::string::value_type
c =
name[i];
30 }
else if (
c ==
']') {
32 }
else if (
c ==
'[') {
46 std::string::size_type
spos = std::string::npos;
47 std::string::size_type start = 0;
48 while ((
spos =
name.find(
"const", start)) != std::string::npos) {
60 std::string::size_type i = 5;
69 std::string::size_type i =
name.size();
91 std::string
post =
"";
114 if (
name.back() ==
']') {
139 for (std::string::size_type pos =
cppname.size()-1; 0 < pos; --pos) {
140 std::string::value_type
c =
cppname[pos];
145 else if (
c ==
'<' &&
cppname[pos+1] !=
'<')
162 const std::string&
cpd =
cleanName.substr(idx, std::string::npos);
165 if (!
cpd.empty() &&
cpd.back() ==
']') {
166 if (
cpd.front() ==
'[')
169 std::ostringstream
scpd;
181 std::string::size_type pos = 0;
182 while ((pos =
cppscope.find(
"::", pos)) != std::string::npos) {
193 for (
char needle : {
':',
'>',
'<',
' ',
',',
'&',
'=',
'*'})
206 for (std::string::size_type pos =
name.size()-1; 0 < pos; --pos) {
207 std::string::value_type
c =
name[pos];
212 else if (
c ==
'<' &&
name[pos+1] !=
'<')
218 return name.substr(0, pos-1);
230 std::vector<std::string>
result;
232 if (sig.empty() || sig ==
"()")
236 std::string::size_type start = 1;
237 for (std::string::size_type pos = 1; pos < sig.size()-1; ++pos) {
238 std::string::value_type
c = sig[pos];
243 else if (
c ==
'<' && sig[pos+1] !=
'<')
249 result.push_back(sig.substr(start, pos-start));
255 result.push_back(sig.substr(start, sig.rfind(
")")-start));
266 std::string::size_type idx =
cleanName.rfind(
'[');
267 if (idx != std::string::npos) {
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
static void rstrip(std::string &name)
static std::string::size_type find_qualifier_index(const std::string &name)
static void erase_const(std::string &name)
static bool is_varchar(char c)
std::string remove_const(const std::string &cppname)
void cppscope_to_legalname(std::string &cppscope)
std::string template_base(const std::string &cppname)
void cppscope_to_pyscope(std::string &cppscope)
Py_ssize_t array_size(const std::string &name)
std::string clean_type(const std::string &cppname, bool template_strip=true, bool const_strip=true)
std::string compound(const std::string &name)
std::string extract_namespace(const std::string &name)
std::vector< std::string > extract_arg_types(const std::string &sig)