refactor: fix all clang-tidy diagnosis
This commit is contained in:
parent
5cb331def9
commit
85a1bbfcab
8 changed files with 56 additions and 62 deletions
|
|
@ -5,8 +5,8 @@ add_subdirectory(./logger)
|
||||||
add_subdirectory(./debug)
|
add_subdirectory(./debug)
|
||||||
add_subdirectory(./math)
|
add_subdirectory(./math)
|
||||||
#
|
#
|
||||||
add_subdirectory(./asset_baker)
|
# add_subdirectory(./asset_baker)
|
||||||
add_subdirectory(./asset_parser)
|
# add_subdirectory(./asset_parser)
|
||||||
# add_subdirectory(./asset_manager)
|
# add_subdirectory(./asset_manager)
|
||||||
#
|
#
|
||||||
add_subdirectory(./camera)
|
add_subdirectory(./camera)
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,6 @@ using lt::test::expect_unreachable;
|
||||||
using lt::test::Suite;
|
using lt::test::Suite;
|
||||||
|
|
||||||
using lt::test::expect_eq;
|
using lt::test::expect_eq;
|
||||||
using lt::test::expect_ne;
|
|
||||||
using lt::test::expect_throw;
|
|
||||||
|
|
||||||
using lt::test::expect_false;
|
using lt::test::expect_false;
|
||||||
using lt::test::expect_true;
|
using lt::test::expect_true;
|
||||||
|
|
@ -19,7 +17,7 @@ using lt::ecs::Registry;
|
||||||
|
|
||||||
struct Component
|
struct Component
|
||||||
{
|
{
|
||||||
int m_int;
|
int m_int {};
|
||||||
std::string m_string;
|
std::string m_string;
|
||||||
|
|
||||||
[[nodiscard]] friend auto operator==(const Component &lhs, const Component &rhs) -> bool
|
[[nodiscard]] friend auto operator==(const Component &lhs, const Component &rhs) -> bool
|
||||||
|
|
@ -43,7 +41,7 @@ struct std::formatter<Component>
|
||||||
|
|
||||||
struct Component_B
|
struct Component_B
|
||||||
{
|
{
|
||||||
float m_float;
|
float m_float {};
|
||||||
|
|
||||||
[[nodiscard]] friend auto operator==(const Component_B lhs, const Component_B &rhs) -> bool
|
[[nodiscard]] friend auto operator==(const Component_B lhs, const Component_B &rhs) -> bool
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ namespace lt::ecs {
|
||||||
|
|
||||||
using Entity = uint32_t;
|
using Entity = uint32_t;
|
||||||
|
|
||||||
|
constexpr auto null_entity = std::numeric_limits<Entity>::max();
|
||||||
|
|
||||||
/** A registry of components, the heart of an ECS architecture.
|
/** A registry of components, the heart of an ECS architecture.
|
||||||
*
|
*
|
||||||
* @todo(Light): Implement grouping
|
* @todo(Light): Implement grouping
|
||||||
|
|
|
||||||
|
|
@ -150,6 +150,11 @@ public:
|
||||||
return m_sparse.capacity();
|
return m_sparse.capacity();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[[nodiscard]] auto is_empty() const noexcept -> bool
|
||||||
|
{
|
||||||
|
return m_dense.empty();
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::vector<Dense_T> m_dense;
|
std::vector<Dense_T> m_dense;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,13 +35,13 @@ public:
|
||||||
void static show_imgui_window();
|
void static show_imgui_window();
|
||||||
|
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
void static log(LogLvl lvl, std::format_string<Args...> fmt, Args &&...args)
|
void static log(LogLvl lvl, std::format_string<Args...> fmt, Args &&...args) noexcept
|
||||||
{
|
{
|
||||||
std::ignore = lvl;
|
std::ignore = lvl;
|
||||||
std::println(fmt, std::forward<Args>(args)...);
|
std::println(fmt, std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
void static log(LogLvl lvl, const char *message)
|
void static log(LogLvl lvl, const char *message) noexcept
|
||||||
{
|
{
|
||||||
std::ignore = lvl;
|
std::ignore = lvl;
|
||||||
std::println("{}", message);
|
std::println("{}", message);
|
||||||
|
|
@ -53,37 +53,37 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
void log_trc(std::format_string<Args...> fmt, Args &&...args)
|
void log_trc(std::format_string<Args...> fmt, Args &&...args) noexcept
|
||||||
{
|
{
|
||||||
Logger::log(LogLvl::trace, fmt, std::forward<Args>(args)...);
|
Logger::log(LogLvl::trace, fmt, std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
void log_dbg(std::format_string<Args...> fmt, Args &&...args)
|
void log_dbg(std::format_string<Args...> fmt, Args &&...args) noexcept
|
||||||
{
|
{
|
||||||
Logger::log(LogLvl::debug, fmt, std::forward<Args>(args)...);
|
Logger::log(LogLvl::debug, fmt, std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
void log_inf(std::format_string<Args...> fmt, Args &&...args)
|
void log_inf(std::format_string<Args...> fmt, Args &&...args) noexcept
|
||||||
{
|
{
|
||||||
Logger::log(LogLvl::info, fmt, std::forward<Args>(args)...);
|
Logger::log(LogLvl::info, fmt, std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
void log_wrn(std::format_string<Args...> fmt, Args &&...args)
|
void log_wrn(std::format_string<Args...> fmt, Args &&...args) noexcept
|
||||||
{
|
{
|
||||||
Logger::log(LogLvl::warn, fmt, std::forward<Args>(args)...);
|
Logger::log(LogLvl::warn, fmt, std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
void log_err(std::format_string<Args...> fmt, Args &&...args)
|
void log_err(std::format_string<Args...> fmt, Args &&...args) noexcept
|
||||||
{
|
{
|
||||||
Logger::log(LogLvl::error, fmt, std::forward<Args>(args)...);
|
Logger::log(LogLvl::error, fmt, std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
void log_crt(std::format_string<Args...> fmt, Args &&...args)
|
void log_crt(std::format_string<Args...> fmt, Args &&...args) noexcept
|
||||||
{
|
{
|
||||||
Logger::log(LogLvl::critical, fmt, std::forward<Args>(args)...);
|
Logger::log(LogLvl::critical, fmt, std::forward<Args>(args)...);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -201,7 +201,7 @@ private:
|
||||||
|
|
||||||
Ref<MirrorSystem> m_mirror_system;
|
Ref<MirrorSystem> m_mirror_system;
|
||||||
|
|
||||||
lt::ecs::Entity m_window;
|
lt::ecs::Entity m_window = lt::ecs::null_entity;
|
||||||
};
|
};
|
||||||
|
|
||||||
auto app::create_application() -> Scope<app::Application>
|
auto app::create_application() -> Scope<app::Application>
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,8 @@ System::System(Ref<ecs::Registry> registry): m_registry(std::move(registry))
|
||||||
|
|
||||||
System::~System()
|
System::~System()
|
||||||
{
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
// TODO(Light): make registry.remove not validate iterators
|
// TODO(Light): make registry.remove not validate iterators
|
||||||
auto entities_to_remove = std::vector<ecs::Entity> {};
|
auto entities_to_remove = std::vector<ecs::Entity> {};
|
||||||
for (auto &[entity, surface] : m_registry->view<SurfaceComponent>())
|
for (auto &[entity, surface] : m_registry->view<SurfaceComponent>())
|
||||||
|
|
@ -72,6 +74,12 @@ System::~System()
|
||||||
|
|
||||||
m_registry->disconnect_on_construct<SurfaceComponent>();
|
m_registry->disconnect_on_construct<SurfaceComponent>();
|
||||||
m_registry->disconnect_on_destruct<SurfaceComponent>();
|
m_registry->disconnect_on_destruct<SurfaceComponent>();
|
||||||
|
}
|
||||||
|
catch (const std::exception &exp)
|
||||||
|
{
|
||||||
|
log_err("Uncaught exception in surface::~System:");
|
||||||
|
log_err("\twhat: {}", exp.what());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void System::on_register()
|
void System::on_register()
|
||||||
|
|
@ -141,8 +149,8 @@ void System::on_surface_construct(ecs::Registry ®istry, ecs::Entity entity)
|
||||||
XSetWMProtocols(display, main_window, &surface.m_native_data.wm_delete_message, 1);
|
XSetWMProtocols(display, main_window, &surface.m_native_data.wm_delete_message, 1);
|
||||||
|
|
||||||
// code to remove decoration
|
// code to remove decoration
|
||||||
long hints[5] = { 2, 0, 0, 0, 0 };
|
auto hints = std::array<unsigned char, 5> { 2, 0, 0, 0, 0 };
|
||||||
Atom motif_hints = XInternAtom(display, "_MOTIF_WM_HINTS", False);
|
const auto motif_hints = XInternAtom(display, "_MOTIF_WM_HINTS", False);
|
||||||
|
|
||||||
XChangeProperty(
|
XChangeProperty(
|
||||||
display,
|
display,
|
||||||
|
|
@ -151,7 +159,7 @@ void System::on_surface_construct(ecs::Registry ®istry, ecs::Entity entity)
|
||||||
motif_hints,
|
motif_hints,
|
||||||
32,
|
32,
|
||||||
PropModeReplace,
|
PropModeReplace,
|
||||||
(unsigned char *)&hints,
|
hints.data(),
|
||||||
5
|
5
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -283,28 +291,7 @@ void System::handle_events(SurfaceComponent &surface)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case Expose: break;
|
default: break; /* pass */
|
||||||
case GraphicsExpose: break;
|
|
||||||
case NoExpose: break;
|
|
||||||
case CirculateRequest: break;
|
|
||||||
case ConfigureRequest: break;
|
|
||||||
case MapRequest: break;
|
|
||||||
case ResizeRequest: break;
|
|
||||||
case CirculateNotify: break;
|
|
||||||
case CreateNotify: break;
|
|
||||||
case DestroyNotify: break;
|
|
||||||
case GravityNotify: break;
|
|
||||||
case MapNotify: break;
|
|
||||||
case MappingNotify: break;
|
|
||||||
case ReparentNotify: break;
|
|
||||||
case UnmapNotify: break;
|
|
||||||
case VisibilityNotify: break;
|
|
||||||
case ColormapNotify: break;
|
|
||||||
case PropertyNotify: break;
|
|
||||||
case SelectionClear: break;
|
|
||||||
case SelectionNotify: break;
|
|
||||||
case SelectionRequest: break;
|
|
||||||
default: log_inf("Unknown X Event");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,9 @@ void create_surface_component(test::FuzzDataProvider &provider, ecs::Registry &r
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
registry.create_entity("").add_component<surface::SurfaceComponent>(
|
auto entity = registry.create_entity();
|
||||||
|
registry.add<surface::SurfaceComponent>(
|
||||||
|
entity,
|
||||||
surface::SurfaceComponent::CreateInfo {
|
surface::SurfaceComponent::CreateInfo {
|
||||||
.title = std::move(title),
|
.title = std::move(title),
|
||||||
.resolution = resolution,
|
.resolution = resolution,
|
||||||
|
|
@ -64,11 +66,11 @@ void create_surface_component(test::FuzzDataProvider &provider, ecs::Registry &r
|
||||||
|
|
||||||
void remove_surface_component(ecs::Registry ®istry)
|
void remove_surface_component(ecs::Registry ®istry)
|
||||||
{
|
{
|
||||||
const auto view = registry.get_entt_registry().view<SurfaceComponent>();
|
const auto view = registry.view<SurfaceComponent>();
|
||||||
|
|
||||||
if (!view->empty())
|
if (!view.is_empty())
|
||||||
{
|
{
|
||||||
registry.get_entt_registry().remove<SurfaceComponent>(*view.begin());
|
registry.remove<SurfaceComponent>(view[0].first);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -102,8 +104,7 @@ test::FuzzHarness harness = [](const uint8_t *data, size_t size) {
|
||||||
case FuzzAction::create_entity:
|
case FuzzAction::create_entity:
|
||||||
{
|
{
|
||||||
const auto length = std::min(provider.consume<uint32_t>().value_or(16), 255u);
|
const auto length = std::min(provider.consume<uint32_t>().value_or(16), 255u);
|
||||||
const auto tag = provider.consume_string(length).value_or("");
|
registry->create_entity();
|
||||||
registry->create_entity(tag);
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -119,15 +120,15 @@ test::FuzzHarness harness = [](const uint8_t *data, size_t size) {
|
||||||
}
|
}
|
||||||
case FuzzAction::push_event:
|
case FuzzAction::push_event:
|
||||||
{
|
{
|
||||||
const auto view = registry->get_entt_registry().view<SurfaceComponent>();
|
auto view = registry->view<SurfaceComponent>();
|
||||||
|
|
||||||
if (!view->empty())
|
if (!view.is_empty())
|
||||||
|
{
|
||||||
|
for (auto &[entity, component] : view)
|
||||||
{
|
{
|
||||||
view.each([&](auto entity, SurfaceComponent &surface) {
|
|
||||||
provider.consume<uint8_t>().value_or(0);
|
provider.consume<uint8_t>().value_or(0);
|
||||||
});
|
// @TODO(Light): push some event
|
||||||
|
}
|
||||||
registry->get_entt_registry().remove<SurfaceComponent>(*view.begin());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
@ -136,6 +137,7 @@ test::FuzzHarness harness = [](const uint8_t *data, size_t size) {
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case FuzzAction::count:
|
||||||
case FuzzAction::tick_system:
|
case FuzzAction::tick_system:
|
||||||
{
|
{
|
||||||
system.tick();
|
system.tick();
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue