#pragma once #include #include #include #include #include namespace ovdl::detail { template concept LoadCallback = requires(T t, Self* self, Args... args) { { t(self, std::forward(args)...) } -> std::same_as>; }; template concept Has_c_str = requires(T t) { { t.c_str() } -> std::same_as; }; }