36for (
auto& mem : compound->members())
38 if (visitor(mem.get()))
47 std::function<
bool(
CppObj*)> visitor)
49for (
auto& mem : compound->members())
51 if ((
accessType(mem.get()) == memAccessType) && visitor(mem.get()))
89 return fullName(compound->owner()) +
"::" + compound->name();
91 return compound->name();
Helps working with raw or unique_ptr of CppObj in a uniform way.
bool isNamespace(CppCompoundEPtr compound)
bool forEachMember(CppCompoundEPtr compound, std::function< bool(CppObj *)> visitor)
bool isClass(CppCompoundEPtr compound)
bool traverse(CppCompoundEPtr compound, std::function< bool(CppObj *)> visitor)
bool traversePreorder(CppCompoundEPtr compound, std::function< bool(CppObj *)> visitor)
bool isStruct(CppCompoundEPtr compound)
bool isCppFile(CppCompoundEPtr compound)
std::string fullName(CppCompoundEPtr compound)
bool isUnion(CppCompoundEPtr compound)
bool isBlock(CppCompoundEPtr compound)
CppAccessType accessType(CppObj *cppObj)
bool isNamespaceLike(CppObj *cppObj)
An abstract class that is used as base class of all other classes.