KhronosGroup / KhronosGroup/Vulkan-Hpp

Make `vk::detail::...` reachable but not visible in the C++ module

Open
#2,490 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
3.8k
Forks
374
Avg merge
23h 4m
Merged PRs (30d)
32

Description

This is parallel to #2111 and the issue that resolved it, #2244. I understand we have `VULKAN_HPP_DISPATCH_LOADER_DYNAMIC_TYPE` and `VULKAN_HPP_DISPATCH_LOADER_STATIC_TYPE`, but there needs to be a way to make these names reachable but not visible, that is, users should be able to access their member functions with `auto someptr = VULKAN_HPP_DISPATCH_LOADER_DYNAMIC_TYPE.memberFunc();` but should _not_ be able to directly access _anything_ in the `vk::detail` namespace (as they are part of the implementation _detail_ of Vulkan-Hpp)...

Contributor guide

Open the contributing guide

Research direction

Read the context in issues #2111 and #2244, then inspect the declarations controlled by VULKAN_HPP_DISPATCH_LOADER_DYNAMIC_TYPE and VULKAN_HPP_DISPATCH_LOADER_STATIC_TYPE. The change is complete when module users can call the dispatch-loader member functions while direct access to names in vk::detail is not visible.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.