Skip to content

Commit 935ab7b

Browse files
committed
🎨 Use injected class name in nexus
1 parent 01659ce commit 935ab7b

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

include/cib/nexus.hpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,22 @@ namespace cib {
1616
*
1717
* @see cib::config
1818
*/
19-
template <typename Config> struct nexus {
20-
private:
21-
using this_t = nexus<Config>;
2219

20+
template <typename Config> struct nexus {
2321
// Workaround unfortunate bug in clang where it can't deduce "auto" sometimes
2422
#define CIB_BUILD_SERVICE \
2523
initialized<Config, Tag>::value.template build<initialized<Config, Tag>>()
2624

27-
public:
2825
template <typename Tag>
2926
constexpr static decltype(CIB_BUILD_SERVICE) service = CIB_BUILD_SERVICE;
3027
#undef CIB_BUILD_SERVICE
3128

3229
static void init() {
3330
auto const service = []<typename T> {
34-
using from_t = std::remove_cvref_t<decltype(this_t::service<T>)>;
31+
using from_t = std::remove_cvref_t<decltype(nexus::service<T>)>;
3532
using to_t = std::remove_cvref_t<decltype(cib::service<T>)>;
3633

37-
auto &service_impl = this_t::service<T>;
34+
auto &service_impl = nexus::service<T>;
3835
if constexpr (std::is_convertible_v<from_t, to_t>) {
3936
cib::service<T> = service_impl;
4037
} else {

0 commit comments

Comments
 (0)