- 新增Math库: Vector2/3/4, Matrix3/4, Quaternion, Transform, Color等 - 新增测试框架: Google Test (gtest) - 新增140个单元测试,覆盖Vector, Matrix, Quaternion, Geometry - VolumeRenderer支持vcpkg的NanoVDB - 添加TESTING.md测试文档
26 lines
511 B
C++
26 lines
511 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
|
|
namespace XCEngine {
|
|
namespace Core {
|
|
|
|
template<typename T>
|
|
using Ref = std::shared_ptr<T>;
|
|
|
|
template<typename T>
|
|
using UniqueRef = std::unique_ptr<T>;
|
|
|
|
template<typename T, typename... Args>
|
|
Ref<T> MakeRef(Args&&... args) {
|
|
return std::make_shared<T>(std::forward<Args>(args)...);
|
|
}
|
|
|
|
template<typename T, typename... Args>
|
|
UniqueRef<T> MakeUnique(Args&&... args) {
|
|
return std::make_unique<T>(std::forward<Args>(args)...);
|
|
}
|
|
|
|
} // namespace Core
|
|
} // namespace XCEngine
|