Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 20 additions & 1 deletion include/CppInterOp/CppInterOp.h
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,10 @@ CPPINTEROP_API size_t SizeOf(TCppScope_t scope);
/// Checks if it is a "built-in" or a "complex" type.
CPPINTEROP_API bool IsBuiltin(TCppType_t type);

/// Checks if it is a templated class.
/// Checks if it is a template class.
CPPINTEROP_API bool IsTemplateClass(TCppScope_t handle);

/// Checks if it is a template.
CPPINTEROP_API bool IsTemplate(TCppScope_t handle);

/// Checks if it is a class template specialization class.
Expand Down Expand Up @@ -372,6 +375,8 @@ CPPINTEROP_API bool IsVariable(TCppScope_t scope);
/// namespace, variable, or a function).
CPPINTEROP_API std::string GetName(TCppScope_t klass);

CPPINTEROP_API std::string GetDocString(TCppScope_t scope);

/// This is similar to GetName() function, but besides
/// the name, it also gets the template arguments.
CPPINTEROP_API std::string GetCompleteName(TCppScope_t klass);
Expand Down Expand Up @@ -436,6 +441,12 @@ CPPINTEROP_API bool IsSubclass(TCppScope_t derived, TCppScope_t base);
CPPINTEROP_API int64_t GetBaseClassOffset(TCppScope_t derived,
TCppScope_t base);

CPPINTEROP_API void GetDatamembersInNamespace(TCppScope_t ns, std::vector<TCppScope_t>& members);
CPPINTEROP_API void GetFunctionsInNamespace(TCppScope_t ns, std::vector<TCppScope_t>& members);
CPPINTEROP_API void GetClassInNamespace(TCppScope_t ns, std::vector<TCppScope_t>& members);
CPPINTEROP_API void GetTemplatedClassInNamespace(TCppScope_t ns, std::vector<TCppScope_t>& members);
CPPINTEROP_API void GetTemplatedFunctionsInNamespace(TCppScope_t ns, std::vector<TCppScope_t>& members);

/// Sets a list of all the Methods that are in the Class that is
/// supplied as a parameter.
///\param[in] klass - Pointer to the scope/class under which the methods have
Expand Down Expand Up @@ -489,6 +500,8 @@ CPPINTEROP_API std::string GetFunctionSignature(TCppFunction_t func);
///\returns if a function was marked as \c =delete.
CPPINTEROP_API bool IsFunctionDeleted(TCppConstFunction_t function);

CPPINTEROP_API bool IsTemplateInstantiationOrSpecialization(TCppScope_t scope);

CPPINTEROP_API bool IsTemplatedFunction(TCppFunction_t func);

/// This function performs a lookup to check if there is a
Expand Down Expand Up @@ -669,6 +682,12 @@ CPPINTEROP_API bool IsConstMethod(TCppFunction_t method);
CPPINTEROP_API std::string GetFunctionArgDefault(TCppFunction_t func,
TCppIndex_t param_index);

///\returns the size of template arguments
CPPINTEROP_API TCppIndex_t GetTemplateNumArgs(TCppScope_t scope);

///\returns the template argument name of template as string.
CPPINTEROP_API std::string GetTemplateArgName(TCppScope_t scope, TCppIndex_t param_index);

///\returns the argument name of function as string.
CPPINTEROP_API std::string GetFunctionArgName(TCppFunction_t func,
TCppIndex_t param_index);
Expand Down
2 changes: 2 additions & 0 deletions lib/.clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Checks: >
-cppcoreguidelines-avoid-non-const-global-variables
Loading
Loading