feat(mcp): Finalize C/C++ AST tools with robust testing and bug fixes

This commit is contained in:
2026-05-05 20:08:51 -04:00
parent 584e8e526e
commit 992e206769
10 changed files with 468 additions and 230 deletions
@@ -0,0 +1,54 @@
#pragma once
#include <tuple>
#include <utility>
namespace gencpp {
namespace util {
/**
* @brief A complex template class demonstrating variadic templates.
*/
template <typename... Args>
class MultiBuffer {
public:
void SetData(Args... args) {
m_data = std::make_tuple(args...);
}
template <size_t I>
auto Get() const -> const typename std::tuple_element<I, std::tuple<Args...>>::type& {
return std::get<I>(m_data);
}
private:
std::tuple<Args...> m_data;
};
/**
* @brief Template specialization example.
*/
template <typename T>
struct TypeTraits {
static constexpr bool IsPointer = false;
};
template <typename T>
struct TypeTraits<T*> {
static constexpr bool IsPointer = true;
};
/**
* @brief Nested template class.
*/
template <typename Outer>
struct Container {
template <typename Inner>
struct Wrapper {
Inner value;
Outer context;
};
};
} // namespace util
} // namespace gencpp