khronosgroup / openxr-sdk-source Goto Github PK
View Code? Open in Web Editor NEWSources for OpenXR loader, basic API layers, and example code.
Home Page: https://khronos.org/openxr
License: Apache License 2.0
Sources for OpenXR loader, basic API layers, and example code.
Home Page: https://khronos.org/openxr
License: Apache License 2.0
After following these instructions to compile Monado as a runtime for openxr. As I noted there, I used vulkan-devel from the AUR in arch linux. I have gotten the following error when trying to run hello_xr with Vulkan:
VkResult failure [ERROR_EXTENSION_NOT_PRESENT]
Origin: vkCreateInstance(&instInfo, nullptr, &m_vkInstance)
Source: /home/sonata/mon/src/OpenXR-SDK/src/tests/hello_xr/graphicsplugin_vulkan.cpp:1154
Using -g openGL
compositor_check_vulkan_caps - Failed to create VkInstance: VK_ERROR_EXTENSION_NOT_PRESENT
XR_ERROR_INITIALIZATION_FAILED in xrCreateSession: failed create a compositor
[12:21:27.946][Error ] XrResult failure [-6]
Origin: xrCreateSession(m_instance, &createInfo, &m_session)
Source: /home/sonata/programs/git_repos/OpenXR-SDK/src/tests/hello_xr/openxr_program.cpp:367
Also of note is that if I follow the OpenXR build instructions here then when trying to run hello_xr I get a different error:
[12:24:08.306][Error ] Unsupported graphics API 'Vulkan'
This is after #24 to be able to get this far in execution. Runs fine until the end of my app arrives and it's time to destroy spaces.
The existing SDK CMake code uses python to generate a number of artifacts, but also uses the PYTHONPATH
environment variable to ensure that common modules can be loaded.
However, while trying to create an openxr port for vcpkg, I've discovered that vcpkg provides an embedded version of python. Embedded versions of python from version 3.5.1 and on ignore the PYTHONPATH
variable and this is apparently by design.
I'm investigating what needs to happen to make the OpenXR build work with either a conventional Python3 installation or an embedded one.
In https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#example_view_configurations_code, the sample code shows an XrTime displayTime
assumed to be previously initialized, then uses xrLocateViews
before xrWaitFrame
, even though if I understand correctly, xrWaitFrame
should be used to initialize displayTime
the loader added XR_EXT_debug_util extension to the list of runtime supported extensions when app is calling xrEnumerateSupportedExtensions function.
However, when app call xrCreateInstance, the loader didn't remove "XR_EXT_debug_util" extension from the creation info, and runtime get this extension in the list. If the runtime didn't implement this extension, (which it typically won't because loader already did this), then xrCreateInstance will fail.
Expectation is when a layer (in this case the loader) inserted an additional extension to the extension support list, it should remove this item in the xrCreateInstance call so the lower layer get what it actually supports.
I think we should be able to pass any kind of struct in to any function on the next chain, at least through the loader, but I can't:
Error [GENERAL | xrCreateInstance | OpenXR-Loader] : VUID-XrInstanceCreateInfo-next-next: unexpected struct in 'next' chain.
Error [GENERAL | xrCreateInstance | OpenXR-Loader] : VUID-xrCreateInstance-info-parameter: something wrong with XrInstanceCreateInfo contents
Error [GENERAL | xrCreateInstance | OpenXR-Loader] : LoaderInstance::CreateInstance chained CreateInstance call failed
This was prompted by this test: https://gitlab.freedesktop.org/monado/utilities/xr-system-tests/blob/master/tests/functions/xrCreateInstance.cpp#L53 which throws an XrActionCreateInfo
in the XrInstanceCreateInfo
chain.
This is the error specifically:
[ 128s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-i686-linux-gnu'
[ 128s] /usr/src/packages/BUILD/src/common/gfxwrapper_opengl.c:461:24: error: conflicting types for 'glBufferSubData'
[ 128s] PFNGLBUFFERSUBDATAPROC glBufferSubData;
[ 128s] ^~~~~~~~~~~~~~~
[ 128s] In file included from /usr/src/packages/BUILD/src/common/gfxwrapper_opengl.c:1:
[ 128s] /usr/src/packages/BUILD/src/common/gfxwrapper_opengl.h:491:34: note: previous declaration of 'glBufferSubData' was here
[ 128s] extern PFNGLBUFFERSUBDATAARBPROC glBufferSubData;
[ 128s] ^~~~~~~~~~~~~~~
I've been trying to figure out why I persistently get this issue in the loader test:
Starting TestEnumLayers
No explicit layers layer count check: Passed: 2 layers available.
No explicit layers layer props query: Passed
- XR_APILAYER_LUNARG_api_dump
- XR_APILAYER_LUNARG_core_validation
Simple explicit layers layer count check: Failed, expected count 8 (2 seen earlier plus 6 we added), got 6
After enabling more debug output, etc. I discovered that it's actually only enumerating the json files in the XR_API_LAYER_PATH environment var: that is, when XR_API_LAYER_PATH is set, it's not looking in the system environment variable anymore. (This appears to be correct according to the loader spec, anyway.)
Is this actually a bug in the test?
would you add Android support ?
I wrote some test utilities that register a debug utils messenger to provide extra info. I don't keep it around because I was relying on the "parent handle destruction implies child handle destruction" behavior, but it appears that's not the case, at least for this handle type.
As a demonstration, I have a static uintptr_t
variable in the function that creates and registers the debug messenger, which gets incremented with each call and is passed as the userData
parameter. My callback then prints the userdata param (cast back to an integer) at the beginning of the line. After a few test cycles, here's some sample output showing all 21 debug messengers are still active.
1 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
2 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
3 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
4 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
5 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
6 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
7 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
8 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
9 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
10 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
11 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
12 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
13 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
14 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
15 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
16 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
17 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
18 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
19 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
20 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
21 [G ][Verbose][OpenXR-Loader ][xrDestroyInstance ] Completed loader trampoline
Was working on some CI things, and I realized I don't actually know the deployment story (and thus, a reasonable layout) of the layers on Windows. (for the loader, I just matched the vulkan one which is a mostly-linuxy-layout with "32" suffixes.)
In the generated code below, there is no check for non-null value before performing value->actionSet
XrResult ValidateXrStruct(GenValidUsageXrInstanceInfo *instance_info, const std::string &command_name,
std::vector<GenValidUsageXrObjectInfo>& objects_info, bool check_members,
const XrActiveActionSet* value) {
XrResult xr_result = XR_SUCCESS;
// If we are not to check the rest of the members, just return here.
if (!check_members || XR_SUCCESS != xr_result) {
return xr_result;
}
{
// writeValidateInlineHandleValidation
ValidateXrHandleResult handle_result = VerifyXrActionSetHandle(&value->actionSet);
if (handle_result != VALIDATE_XR_HANDLE_SUCCESS) {
// Not a valid handle or NULL (which is not valid in this case)
std::ostringstream oss;
oss << "Invalid XrActionSet handle \"actionSet\" ";
oss << HandleToHexString(value->actionSet);
CoreValidLogMessage(instance_info, "VUID-XrActiveActionSet-actionSet-parameter",
VALID_USAGE_DEBUG_SEVERITY_ERROR, command_name,
objects_info, oss.str());
return XR_ERROR_HANDLE_INVALID;
}
}
// Everything checked out properly
return xr_result;
}
Follow-up to #52, search and remove any exceptions thrown within the API layer code.
When I compiled the project, the resulting json files for the API layers had library_path
s pointed to the .lib files instead of the .dll files.
We need 64-bit and 32-bit CI. We can do AppVeyor for 32-bit Windows CI, same basic layout as internal, but for main/Linux CI we'll need to set up something else (travis?)
Opening this mostly as a reminder to self, though anyone is welcome to set it up first and beat me to it :)
This might mean we need to search /usr/lib/multilibdir/openxr/1/blablabla for stuff.
2019-12-10T18:03:11.6315794Z In file included from ../src/loader/api_layer_interface.hpp:28,
2019-12-10T18:03:11.6316889Z from ../src/loader/api_layer_interface.cpp:20:
2019-12-10T18:03:11.6317372Z ../src/loader/loader_platform.hpp: In function 'void* LoaderPlatformLibraryGetProcAddr(LoaderPlatformLibraryHandle, const string&)':
2019-12-10T18:03:11.6317824Z ../src/loader/loader_platform.hpp:174:26: error: invalid conversion from 'FARPROC' {aka 'long long int (*)()'} to 'void*' [-fpermissive]
2019-12-10T18:03:11.6329319Z return GetProcAddress(library, name.c_str());
2019-12-10T18:03:11.6329882Z ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
For an unknown structure type, xrStructureTypeToString should return XR_UNKNOWN_STRUCTURE_TYPE_. For an unknown result code, xrResultToString should return XR_UNKNOWN_SUCCESS_/XR_UNKNOWN_FAILURE_*.
Negative extents make no sense. XrExtent2Di
should be XrExtent2Du
and contain unsigned integer types.
I am trying to figure out how to use the SDK in a C# project, however, it doesn't look like the pre-built DLLs support C# (i.e. they cannot be added as a reference to a C# project).
There also isn't any included .cs wrapper file that declares the DLLImports for the various functions.
Is this something that will be added at some point? Or am I missing some easy way to get this to work with my C# project?
Thanks!
I successfully compiled all the repository but had a runtime error when executing hello_xr example:
$ ./hello_xr -g OpenGL
[13:27:19.145][Info ] Press any key to shutdown...
Error [GENERAL | | OpenXR-Loader] : RuntimeManifestFile::createIfValid failed to open /usr/local/share/openxr/0/active_runtime.json. Does it exist?
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::LoadRuntimes - failed to find a valid runtime
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed to find default runtime with RuntimeInterface::LoadRuntime()
Error [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Failed querying extension properties
[13:27:19.155][Error ] XrResult failure [-13]
Origin: xrEnumerateInstanceExtensionProperties(layerName, 0, &instanceExtensionCount, nullptr)
Source: ../src/tests/hello_xr/openxr_program.cpp:148
It looks that the file /usr/local/share/openxr/0/active_runtime.json
is missing on my system.
Is there some hardcoded path somewhere or maybe OpenXR is trying to create the file without access?
Wayland/xcb/xlib connections are all initialized to nonsense, and remaining fields (where applicable) are left entirely uninitialized. Testing on Monado seems to work anyway, at least on xlib, which further raises the question of whether this information is actually needed.
Tracking issue for an "openxr.hpp"
I've done some work on this related to trying things out with symbol loading and dispatch. It's now pretty good (partially based on the code from Vulkan.hpp, but not sharing generation code), but still has gaps.
Here's the (generated code that I committed) header: https://github.com/rpavlik/OpenXR-SDK-Source/blob/openxr-hpp/include/openxr/openxr.hpp
Generation uses scripts/templates in here: https://github.com/rpavlik/OpenXR-SDK-Source/tree/openxr-hpp/src/scripts
FWIW, the doxygen output for the header is currently actually pretty reasonable.
I should probably split this into a separate repo, but it arose as a bit of a hack so it didn't start from blank.
cc @jherico
Hi, i have compiled and installed the SDK, and actually i had installed the headers. When i try to compile the helo_xr example, i get an error from this line(openxr_program.cpp):
#include <common/xr_linear.h>
The paths are rigt, as VSCode get the autocomplete when writing the line.
Should i be missing something?
Hi, I'm following the BUILDING.md file and am unable to build the SDK.
(Windows 64-bit, VS 2017)
cmake -G "Visual Studio 15 Win64" ....
-- Could NOT find VulkanHeaders (missing: VulkanHeaders_INCLUDE_DIR)
-- Could NOT find VulkanRegistry (missing: VulkanRegistry_DIR)
-- Could NOT find Vulkan (missing: Vulkan_LIBRARY Vulkan_INCLUDE_DIR)
-- Could NOT find glslc, using precompiled .spv files
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Follow up from #155 (comment)
cc @sn0w75
I'm using release 1.0.6 installed on Debian Buster, with some monado build set as active runtime. Running hello_xr -g vulkan
on its own works fine. It also works fine if I set XR_ENABLE_API_LAYERS
to XR_APILAYER_LUNARG_core_validation
. However. if I set that same variable to XR_APILAYER_LUNARG_api_dump
, the application quits immediately. Here is the log:
newlog.txt
cc @Wallbraker
The generated code for two-call idiom calls is producing a static analysis warning "Value stored to 'xr_result' is never read". which is because it's just falling through after setting xr_result instead of returning it or otherwise accumulating the error.
The code in question looks like:
// Optional array must be non-NULL when viewCapacityInput is non-zero
if (0 != viewCapacityInput && nullptr == views) {
CoreValidLogMessage(gen_instance_info, "VUID-xrEnumerateViewConfigurationViews-views-parameter",
VALID_USAGE_DEBUG_SEVERITY_ERROR, "xrEnumerateViewConfigurationViews",
objects_info,
"Command xrEnumerateViewConfigurationViews param views is NULL, but viewCapacityInput is greater than 0");
xr_result = XR_ERROR_VALIDATION_FAILURE;
}
// Non-optional pointer/array variable that needs to not be NULL
if (nullptr == viewCountOutput) {
CoreValidLogMessage(gen_instance_info, "VUID-xrEnumerateViewConfigurationViews-viewCountOutput-parameter",
VALID_USAGE_DEBUG_SEVERITY_ERROR, "xrEnumerateViewConfigurationViews", objects_info,
"Invalid NULL for uint32_t \"viewCountOutput\" which is not "
"optional and must be non-NULL");
return XR_ERROR_VALIDATION_FAILURE;
}
This is also triggering a later null dereference, when e.g. in the GenValidUsageInputsXrEnumerateSwapchainImages
function, that warning is printed, but then we go through to iterate the null container, etc.
Hmm. When I pull this into the internal repo with CI, it fails during the xcb-backend build of the exported source. (Don't know why it doesn't fail with the normal source)
FAILED: /usr/bin/c++ -DOPENXR_HAVE_COMMON_CONFIG -DOS_LINUX_XCB_GLX -DXR_OS_LINUX -DXR_USE_GRAPHICS_API_OPENGL -DXR_USE_PLATFORM_XCB -DXR_USE_TIMESPEC -I../src/../include -I../src -Isrc/tests/hello_xr -I../src/common -I../include -Iinclude -I../external/include -fPIE -Wall -std=gnu++14 -MMD -MT src/tests/hello_xr/CMakeFiles/hello_xr.dir/graphicsplugin_opengl.cpp.o -MF src/tests/hello_xr/CMakeFiles/hello_xr.dir/graphicsplugin_opengl.cpp.o.d -o src/tests/hello_xr/CMakeFiles/hello_xr.dir/graphicsplugin_opengl.cpp.o -c ../src/tests/hello_xr/graphicsplugin_opengl.cpp
In file included from ../src/tests/hello_xr/graphicsplugin_opengl.cpp:9:0:
../src/common/xr_linear.h:24:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
#pragma clang diagnostic ignored "-Wunused-function"
^
../src/tests/hello_xr/graphicsplugin_opengl.cpp: In member function ‘virtual void {anonymous}::OpenGLGraphicsPlugin::InitializeDevice(XrInstance, XrSystemId)’:
../src/tests/hello_xr/graphicsplugin_opengl.cpp:124:55: error: ‘struct ksGpuContext’ has no member named ‘connection’
m_graphicsBinding.connection = window.context.connection;
^
../src/tests/hello_xr/graphicsplugin_opengl.cpp:125:57: error: ‘struct ksGpuContext’ has no member named ‘screenNumber’
m_graphicsBinding.screenNumber = window.context.screenNumber;
^
../src/tests/hello_xr/graphicsplugin_opengl.cpp:126:55: error: ‘struct ksGpuContext’ has no member named ‘fbconfigid’
m_graphicsBinding.fbconfigid = window.context.fbconfigid;
^
../src/tests/hello_xr/graphicsplugin_opengl.cpp:129:55: error: invalid conversion from ‘GLXContext {aka __GLXcontextRec*}’ to ‘xcb_glx_context_t {aka unsigned int}’ [-fpermissive]
m_graphicsBinding.glxContext = window.context.glxContext;
^
I'll dig into it further tomorrow.
Originally posted by @rpavlik in #144 (comment)
@zheqiMicrosoft looking for your input here.
I'm documenting and cleaning up some things, and I realized I think I made my optional exception handling too dangerous. There's a define XRLOADER_ENABLE_EXCEPTION_HANDLING
that you must enable except in two conditions (excerpt from in-progress note in docs):
However, if somebody doesn't use CMake, it's easy to forget to fail to define something, so it seems like the better, safer default is to catch exceptions unless XRLOADER_DISABLE_EXCEPTION_HANDLING
is defined.
I imagine for your uses, you could probably add that define in to your alternate build system, but I wanted to find out for sure before I made a PR.
The existing loader code includes C++ exceptions as a part of it's error handling. OpenXR nominally follows the Google C++ style guide, which weakly prohibits use of exceptions.
In order to maintain widest possible compatibility, including with other projects which follow the Google style guide, the exception handling code should be removed from the loader.
This public issue is to track resolution of the same topic in the OpenXR WG, issue 974.
It looks like there are some loader tests but they definitely aren't being run right now. This should be resolved.
CMake Warning (dev) at /usr/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
The package name passed to `find_package_handle_standard_args`
(VulkanRegistry) does not match the name of the calling package
(VulkanHeaders). This can lead to problems in calling code that expects
`find_package` result variables (e.g., `_FOUND`) to follow a certain
pattern.
Call Stack (most recent call first):
src/cmake/FindVulkanHeaders.cmake:84 (find_package_handle_standard_args)
src/CMakeLists.txt:39 (find_package)
There are a few instances in the loader code where a std::map is accessed via bracket operator
foo = map[key]
where it appears uncertain whether the key already exists in the map. These should be changed to or guarded by .find() operations, to prevent an inadvertent insertion of the key into the map.
Tracks WG gitlab issue # 943
VS has long had a bug with incorrect setting of __cplusplus macro, which causes the loader (and potentially other projects) to select the experimental
flavor of std::filesystem. This blog post describes how to force VS2017 to report an accurate __cplusplus value.
The cmake .sln generator should be updated to add the two required compiler switches (/Zc:__cplusplus
and /std:c++17
)
Found with clang-tidy:
OpenXR-SDK-Source/src/api_layers/core_validation.cpp:270:34: warning: Value stored to 'ret_val' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
XrBool32 ret_val = messenger_create_info->userCallback(debug_utils_severity,
It's not being used because this call (and many including it) are void return. I think it should at least abort the loop, though.
Fairly low priority.
The CMake build files should include install
directives. Install directives will allow easier integration with package managers like vcpkg. Without install directives, a configuration file for vcpkg would have to account for the potential differences in output locations for build artifacts produced by different build systems. For instance, Ninja will place output in the build directory in src/loader/openxr_loader-0_90.lib
while MSVC may place it in src/loader/Release/openxr_loader-0_90.lib
. Packaging tools like vcpkg then have to account for all possible locations or artificially constrain the allowed tools for building.
Actually,I wonder may I open multiply OpenXR app at the same time like the normal desktop app.
Hi rpavlik:
I find methods defined in openxr_platform.h such as XrGraphicsRequirementsOpenGLESKHR have no implementationin openxr_loader.so. when i call these method,i encount a Compile error msg: undefined reference to 'xrGetOpenGLESGraphicsRequirementsKHR'.
should i implement these methods in loader_core.cpp or somewhere.
thanks very much
Per the spec, there are 3 functions for which it's legal to call get proc addr with a null instance. If you just use the exported function of xrCreateInstance, you're fine, but if you use xrGetInstanceProcAddr to retrieve that function pointer for some reason, you get:
Error [SPEC | xrGetInstanceProcAddr | VUID-xrGetInstanceProcAddr-instance-parameter] : XR_NULL_HANDLE for instance but query for xrEnumerateInstanceExtensionProperties requires a valid instance
-------------------------------------------------------------------------------
xrGetInstanceProcAddr
When: providing a null instance
Then: Request for xrEnumerateInstanceExtensionProperties should succeed
-------------------------------------------------------------------------------
../tests/functions/xrGetInstanceProcAddr.cpp:14
...............................................................................
../tests/functions/xrGetInstanceProcAddr.cpp:15: FAILED:
REQUIRE( XrResultCode{XR_SUCCESS} == XrResultCode{xrGetInstanceProcAddr(nullptr, "xrEnumerateInstanceExtensionProperties", &pfn)} )
with expansion:
XR_SUCCESS == XR_ERROR_HANDLE_INVALID
Error [SPEC | xrGetInstanceProcAddr | VUID-xrGetInstanceProcAddr-instance-parameter] : XR_NULL_HANDLE for instance but query for xrEnumerateApiLayerProperties requires a valid instance
-------------------------------------------------------------------------------
xrGetInstanceProcAddr
When: providing a null instance
Then: Request for xrEnumerateApiLayerProperties should succeed
-------------------------------------------------------------------------------
../tests/functions/xrGetInstanceProcAddr.cpp:18
...............................................................................
../tests/functions/xrGetInstanceProcAddr.cpp:19: FAILED:
REQUIRE( XrResultCode{XR_SUCCESS} == XrResultCode{xrGetInstanceProcAddr(nullptr, "xrEnumerateApiLayerProperties", &pfn)} )
with expansion:
XR_SUCCESS == XR_ERROR_HANDLE_INVALID
Error [SPEC | xrGetInstanceProcAddr | VUID-xrGetInstanceProcAddr-instance-parameter] : XR_NULL_HANDLE for instance but query for xrCreateInstance requires a valid instance
-------------------------------------------------------------------------------
xrGetInstanceProcAddr
When: providing a null instance
Then: Request for xrCreateInstance should succeed
-------------------------------------------------------------------------------
../tests/functions/xrGetInstanceProcAddr.cpp:22
...............................................................................
../tests/functions/xrGetInstanceProcAddr.cpp:23: FAILED:
REQUIRE( XrResultCode{XR_SUCCESS} == XrResultCode{xrGetInstanceProcAddr(nullptr, "xrCreateInstance", &pfn)} )
with expansion:
XR_SUCCESS == XR_ERROR_HANDLE_INVALID
Here's the total list of exported symbols from a build on Debian Buster (10): (computed with some mangling of dpkg-gensymbols output)
(c++)"std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > __gnu_cxx::__to_xstring<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char>(int (*)(char*, unsigned long, char const*, __va_list_tag*), unsigned long, char const*, ...)"
(c++)"__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >::stdio_filebuf(int, std::_Ios_Openmode, unsigned long)"
(c++)"__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >::stdio_filebuf(int, std::_Ios_Openmode, unsigned long)"
(c++)"__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >::~stdio_filebuf()"
(c++)"__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >::~stdio_filebuf()"
(c++)"__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >::~stdio_filebuf()"
(c++)"std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long) const"
(c++)"std::filesystem::__cxx11::filesystem_error::what() const"
(c++)"std::filesystem::__cxx11::directory_iterator::operator*() const"
(c++)"std::filesystem::__cxx11::recursive_directory_iterator::depth() const"
(c++)"std::filesystem::__cxx11::recursive_directory_iterator::operator*() const"
(c++)"std::filesystem::__cxx11::path::parent_path() const"
(c++)"std::filesystem::__cxx11::path::has_filename() const"
(c++)"std::filesystem::__cxx11::path::has_root_name() const"
(c++)"std::filesystem::__cxx11::path::has_root_path() const"
(c++)"std::filesystem::__cxx11::path::relative_path() const"
(c++)"std::filesystem::__cxx11::path::root_directory() const"
(c++)"std::filesystem::__cxx11::path::has_parent_path() const"
(c++)"std::filesystem::__cxx11::path::lexically_normal() const"
(c++)"std::filesystem::__cxx11::path::_M_find_extension() const"
(c++)"std::filesystem::__cxx11::path::has_relative_path() const"
(c++)"std::filesystem::__cxx11::path::has_root_directory() const"
(c++)"std::filesystem::__cxx11::path::lexically_relative(std::filesystem::__cxx11::path const&) const"
(c++)"std::filesystem::__cxx11::path::lexically_proximate(std::filesystem::__cxx11::path const&) const"
(c++)"std::filesystem::__cxx11::path::compare(std::filesystem::__cxx11::path const&) const"
(c++)"std::filesystem::__cxx11::path::root_name() const"
(c++)"std::filesystem::__cxx11::path::root_path() const"
(c++)"std::experimental::filesystem::v1::__cxx11::filesystem_error::what() const"
(c++)"std::experimental::filesystem::v1::__cxx11::directory_iterator::operator*() const"
(c++)"std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::depth() const"
(c++)"std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::operator*() const"
(c++)"std::experimental::filesystem::v1::__cxx11::path::parent_path() const"
(c++)"std::experimental::filesystem::v1::__cxx11::path::has_filename() const"
(c++)"std::experimental::filesystem::v1::__cxx11::path::has_root_name() const"
(c++)"std::experimental::filesystem::v1::__cxx11::path::has_root_path() const"
(c++)"std::experimental::filesystem::v1::__cxx11::path::relative_path() const"
(c++)"std::experimental::filesystem::v1::__cxx11::path::root_directory() const"
(c++)"std::experimental::filesystem::v1::__cxx11::path::has_parent_path() const"
(c++)"std::experimental::filesystem::v1::__cxx11::path::_M_find_extension() const"
(c++)"std::experimental::filesystem::v1::__cxx11::path::has_relative_path() const"
(c++)"std::experimental::filesystem::v1::__cxx11::path::has_root_directory() const"
(c++)"std::experimental::filesystem::v1::__cxx11::path::compare(std::experimental::filesystem::v1::__cxx11::path const&) const"
(c++)"std::experimental::filesystem::v1::__cxx11::path::root_name() const"
(c++)"std::experimental::filesystem::v1::__cxx11::path::root_path() const"
(c++)"std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::in(__mbstate_t&, char const*, char const*, char const*&, wchar_t*, wchar_t*, wchar_t*&) const"
(c++)"std::__codecvt_abstract_base<wchar_t, char, __mbstate_t>::out(__mbstate_t&, wchar_t const*, wchar_t const*, wchar_t const*&, char*, char*, char*&) const"
(c++)"std::ctype<char>::do_widen(char) const"
(c++)"std::pair<std::__detail::_Node_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, false, true>, bool> std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_emplace<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(std::integral_constant<bool, true>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)"
(c++)"std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_insert_unique_node(unsigned long, unsigned long, std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, true>*, unsigned long)"
(c++)"std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable()"
(c++)"std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable()"
(c++)"std::filesystem::equivalent(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::equivalent(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::remove_all(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::remove_all(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::permissions(std::filesystem::__cxx11::path const&, std::filesystem::perms, std::filesystem::perm_options)"
(c++)"std::filesystem::permissions(std::filesystem::__cxx11::path const&, std::filesystem::perms, std::filesystem::perm_options, std::error_code&)"
(c++)"std::filesystem::resize_file(std::filesystem::__cxx11::path const&, unsigned long)"
(c++)"std::filesystem::resize_file(std::filesystem::__cxx11::path const&, unsigned long, std::error_code&)"
(c++)"std::filesystem::copy_symlink(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::copy_symlink(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::current_path[abi:cxx11](std::error_code&)"
(c++)"std::filesystem::current_path[abi:cxx11]()"
(c++)"std::filesystem::current_path(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::current_path(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::do_copy_file(char const*, char const*, std::filesystem::copy_options_existing_file, stat*, stat*, std::error_code&)"
(c++)"std::filesystem::read_symlink(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::read_symlink(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::fs_err_concat(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)"
(c++)"std::filesystem::create_symlink(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::create_symlink(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::symlink_status(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::symlink_status(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::hard_link_count(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::hard_link_count(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::last_write_time(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::last_write_time(std::filesystem::__cxx11::path const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >)"
(c++)"std::filesystem::last_write_time(std::filesystem::__cxx11::path const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, std::error_code&)"
(c++)"std::filesystem::last_write_time(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::create_directory(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::create_directory(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::create_directory(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::create_directory(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::create_hard_link(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::create_hard_link(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::weakly_canonical(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::weakly_canonical(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::create_directories(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::create_directories(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::temp_directory_path[abi:cxx11](std::error_code&)"
(c++)"std::filesystem::temp_directory_path[abi:cxx11]()"
(c++)"std::filesystem::create_directory_symlink(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::create_directory_symlink(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::copy(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::filesystem::copy_options)"
(c++)"std::filesystem::copy(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::filesystem::copy_options, std::error_code&)"
(c++)"std::filesystem::space(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::space(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::remove(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::remove(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::rename(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::rename(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::status(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::status(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::__cxx11::hash_value(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::__cxx11::filesystem_error::_M_gen_what()"
(c++)"std::filesystem::__cxx11::filesystem_error::filesystem_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::error_code)"
(c++)"std::filesystem::__cxx11::filesystem_error::filesystem_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::filesystem::__cxx11::path const&, std::error_code)"
(c++)"std::filesystem::__cxx11::filesystem_error::filesystem_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::error_code)"
(c++)"std::filesystem::__cxx11::filesystem_error::filesystem_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::error_code)"
(c++)"std::filesystem::__cxx11::filesystem_error::filesystem_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::filesystem::__cxx11::path const&, std::error_code)"
(c++)"std::filesystem::__cxx11::filesystem_error::filesystem_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::error_code)"
(c++)"std::filesystem::__cxx11::filesystem_error::~filesystem_error()"
(c++)"std::filesystem::__cxx11::filesystem_error::~filesystem_error()"
(c++)"std::filesystem::__cxx11::filesystem_error::~filesystem_error()"
(c++)"std::filesystem::__cxx11::directory_iterator::increment(std::error_code&)"
(c++)"std::filesystem::__cxx11::directory_iterator::directory_iterator(std::filesystem::__cxx11::path const&, std::filesystem::directory_options, std::error_code*)"
(c++)"std::filesystem::__cxx11::directory_iterator::directory_iterator(std::filesystem::__cxx11::path const&, std::filesystem::directory_options, std::error_code*)"
(c++)"std::filesystem::__cxx11::directory_iterator::operator++()"
(c++)"std::filesystem::__cxx11::recursive_directory_iterator::pop(std::error_code&)"
(c++)"std::filesystem::__cxx11::recursive_directory_iterator::pop()"
(c++)"std::filesystem::__cxx11::recursive_directory_iterator::increment(std::error_code&)"
(c++)"std::filesystem::__cxx11::recursive_directory_iterator::recursive_directory_iterator(std::filesystem::__cxx11::path const&, std::filesystem::directory_options, std::error_code*)"
(c++)"std::filesystem::__cxx11::recursive_directory_iterator::recursive_directory_iterator(std::filesystem::__cxx11::path const&, std::filesystem::directory_options, std::error_code*)"
(c++)"std::filesystem::__cxx11::recursive_directory_iterator::~recursive_directory_iterator()"
(c++)"std::filesystem::__cxx11::recursive_directory_iterator::~recursive_directory_iterator()"
(c++)"std::filesystem::__cxx11::recursive_directory_iterator::operator=(std::filesystem::__cxx11::recursive_directory_iterator&&)"
(c++)"std::filesystem::__cxx11::recursive_directory_iterator::operator=(std::filesystem::__cxx11::recursive_directory_iterator const&)"
(c++)"std::filesystem::__cxx11::recursive_directory_iterator::operator++()"
(c++)"std::filesystem::__cxx11::_Dir::advance(bool, std::error_code&)"
(c++)"std::filesystem::__cxx11::_Dir::~_Dir()"
(c++)"std::filesystem::__cxx11::_Dir::~_Dir()"
(c++)"std::filesystem::__cxx11::path::_M_split_cmpts()"
(c++)"std::filesystem::__cxx11::path::_S_convert_loc(char const*, char const*, std::locale const&)"
(c++)"std::filesystem::__cxx11::path::_M_add_filename(unsigned long, unsigned long)"
(c++)"std::filesystem::__cxx11::path::_M_add_root_dir(unsigned long)"
(c++)"std::filesystem::__cxx11::path::remove_filename()"
(c++)"std::filesystem::__cxx11::path::_M_add_root_name(unsigned long)"
(c++)"std::filesystem::__cxx11::path::replace_filename(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::__cxx11::path::replace_extension(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::__cxx11::path::_M_trim()"
(c++)"std::filesystem::__cxx11::path::path(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::__cxx11::path::path(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::__cxx11::path::~path()"
(c++)"std::filesystem::__cxx11::path::~path()"
(c++)"std::filesystem::__cxx11::path::operator=(std::filesystem::__cxx11::path&&)"
(c++)"std::filesystem::__cxx11::path::operator/=(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::absolute(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::absolute(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::is_empty(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::is_empty(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::relative(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::relative(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::_Dir_base::advance(bool, std::error_code&)"
(c++)"std::filesystem::_Dir_base::_Dir_base(char const*, bool, std::error_code&)"
(c++)"std::filesystem::_Dir_base::_Dir_base(char const*, bool, std::error_code&)"
(c++)"std::filesystem::canonical(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::canonical(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::copy_file(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::filesystem::copy_options)"
(c++)"std::filesystem::copy_file(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::filesystem::copy_options, std::error_code&)"
(c++)"std::filesystem::file_size(std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::file_size(std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::filesystem::proximate(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&)"
(c++)"std::filesystem::proximate(std::filesystem::__cxx11::path const&, std::filesystem::__cxx11::path const&, std::error_code&)"
(c++)"std::_Deque_base<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >::_M_initialize_map(unsigned long)"
(c++)"std::_Deque_base<std::experimental::filesystem::v1::__cxx11::path, std::allocator<std::experimental::filesystem::v1::__cxx11::path> >::_M_initialize_map(unsigned long)"
(c++)"std::codecvt_utf8<wchar_t, 1114111ul, (std::codecvt_mode)0>::~codecvt_utf8()"
(c++)"std::codecvt_utf8<wchar_t, 1114111ul, (std::codecvt_mode)0>::~codecvt_utf8()"
(c++)"std::codecvt_utf8<wchar_t, 1114111ul, (std::codecvt_mode)0>::~codecvt_utf8()"
(c++)"std::experimental::filesystem::v1::equivalent(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::equivalent(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::remove_all(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::remove_all(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::permissions(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::perms)"
(c++)"std::experimental::filesystem::v1::permissions(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::perms, std::error_code&)"
(c++)"std::experimental::filesystem::v1::resize_file(std::experimental::filesystem::v1::__cxx11::path const&, unsigned long)"
(c++)"std::experimental::filesystem::v1::resize_file(std::experimental::filesystem::v1::__cxx11::path const&, unsigned long, std::error_code&)"
(c++)"std::experimental::filesystem::v1::copy_symlink(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::copy_symlink(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::current_path[abi:cxx11](std::error_code&)"
(c++)"std::experimental::filesystem::v1::current_path[abi:cxx11]()"
(c++)"std::experimental::filesystem::v1::current_path(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::current_path(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::read_symlink(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::read_symlink(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::create_symlink(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::create_symlink(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::symlink_status(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::symlink_status(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::hard_link_count(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::hard_link_count(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::last_write_time(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::last_write_time(std::experimental::filesystem::v1::__cxx11::path const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >)"
(c++)"std::experimental::filesystem::v1::last_write_time(std::experimental::filesystem::v1::__cxx11::path const&, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >, std::error_code&)"
(c++)"std::experimental::filesystem::v1::last_write_time(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::system_complete(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::system_complete(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::create_directory(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::create_directory(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::create_directory(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::create_directory(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::create_hard_link(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::create_hard_link(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::create_directories(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::create_directories(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::temp_directory_path[abi:cxx11](std::error_code&)"
(c++)"std::experimental::filesystem::v1::temp_directory_path[abi:cxx11]()"
(c++)"std::experimental::filesystem::v1::create_directory_symlink(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::create_directory_symlink(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::copy(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::copy_options)"
(c++)"std::experimental::filesystem::v1::copy(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::copy_options, std::error_code&)"
(c++)"std::experimental::filesystem::v1::space(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::space(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::remove(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::remove(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::rename(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::rename(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::status(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::status(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::__cxx11::hash_value(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::__cxx11::filesystem_error::_M_gen_what()"
(c++)"std::experimental::filesystem::v1::__cxx11::filesystem_error::filesystem_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::error_code)"
(c++)"std::experimental::filesystem::v1::__cxx11::filesystem_error::filesystem_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::experimental::filesystem::v1::__cxx11::path const&, std::error_code)"
(c++)"std::experimental::filesystem::v1::__cxx11::filesystem_error::filesystem_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::error_code)"
(c++)"std::experimental::filesystem::v1::__cxx11::filesystem_error::filesystem_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::error_code)"
(c++)"std::experimental::filesystem::v1::__cxx11::filesystem_error::filesystem_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::experimental::filesystem::v1::__cxx11::path const&, std::error_code)"
(c++)"std::experimental::filesystem::v1::__cxx11::filesystem_error::filesystem_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::error_code)"
(c++)"std::experimental::filesystem::v1::__cxx11::filesystem_error::~filesystem_error()"
(c++)"std::experimental::filesystem::v1::__cxx11::filesystem_error::~filesystem_error()"
(c++)"std::experimental::filesystem::v1::__cxx11::filesystem_error::~filesystem_error()"
(c++)"std::experimental::filesystem::v1::__cxx11::directory_iterator::increment(std::error_code&)"
(c++)"std::experimental::filesystem::v1::__cxx11::directory_iterator::directory_iterator(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::directory_options, std::error_code*)"
(c++)"std::experimental::filesystem::v1::__cxx11::directory_iterator::directory_iterator(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::directory_options, std::error_code*)"
(c++)"std::experimental::filesystem::v1::__cxx11::directory_iterator::operator++()"
(c++)"std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::pop(std::error_code&)"
(c++)"std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::pop()"
(c++)"std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::increment(std::error_code&)"
(c++)"std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::recursive_directory_iterator(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::directory_options, std::error_code*)"
(c++)"std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::recursive_directory_iterator(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::directory_options, std::error_code*)"
(c++)"std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::~recursive_directory_iterator()"
(c++)"std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::~recursive_directory_iterator()"
(c++)"std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::operator=(std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator&&)"
(c++)"std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::operator=(std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator const&)"
(c++)"std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::operator++()"
(c++)"std::experimental::filesystem::v1::__cxx11::_Dir::advance(bool, std::error_code&)"
(c++)"std::experimental::filesystem::v1::__cxx11::_Dir::~_Dir()"
(c++)"std::experimental::filesystem::v1::__cxx11::_Dir::~_Dir()"
(c++)"std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()"
(c++)"std::experimental::filesystem::v1::__cxx11::path::_S_convert_loc(char const*, char const*, std::locale const&)"
(c++)"std::experimental::filesystem::v1::__cxx11::path::_M_add_filename(unsigned long, unsigned long)"
(c++)"std::experimental::filesystem::v1::__cxx11::path::_M_add_root_dir(unsigned long)"
(c++)"std::experimental::filesystem::v1::__cxx11::path::remove_filename()"
(c++)"std::experimental::filesystem::v1::__cxx11::path::_M_add_root_name(unsigned long)"
(c++)"std::experimental::filesystem::v1::__cxx11::path::replace_filename(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::__cxx11::path::replace_extension(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::__cxx11::path::preferred_separator"
(c++)"std::experimental::filesystem::v1::__cxx11::path::_M_trim()"
(c++)"std::experimental::filesystem::v1::__cxx11::path::path(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::__cxx11::path::path(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::__cxx11::path::~path()"
(c++)"std::experimental::filesystem::v1::__cxx11::path::~path()"
(c++)"std::experimental::filesystem::v1::absolute(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::is_empty(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::is_empty(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::canonical(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::canonical(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::canonical(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::experimental::filesystem::v1::copy_file(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::copy_options)"
(c++)"std::experimental::filesystem::v1::copy_file(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::copy_options, std::error_code&)"
(c++)"std::experimental::filesystem::v1::file_size(std::experimental::filesystem::v1::__cxx11::path const&)"
(c++)"std::experimental::filesystem::v1::file_size(std::experimental::filesystem::v1::__cxx11::path const&, std::error_code&)"
(c++)"std::_Sp_counted_ptr<decltype(nullptr), (__gnu_cxx::_Lock_policy)2>::_M_dispose()"
(c++)"std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_destroy()"
(c++)"std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release()"
(c++)"std::experimental::filesystem::v1::__cxx11::path::_Cmpt* std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt const*, std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> > >, std::experimental::filesystem::v1::__cxx11::path::_Cmpt*>(__gnu_cxx::__normal_iterator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt const*, std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> > >, __gnu_cxx::__normal_iterator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt const*, std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> > >, std::experimental::filesystem::v1::__cxx11::path::_Cmpt*)"
(c++)"std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>::_M_destroy()"
(c++)"std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>::_M_dispose()"
(c++)"std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)"
(c++)"std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>::~_Sp_counted_ptr_inplace()"
(c++)"std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>::~_Sp_counted_ptr_inplace()"
(c++)"std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>::~_Sp_counted_ptr_inplace()"
(c++)"std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::_Dir, std::allocator<std::filesystem::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>::_M_destroy()"
(c++)"std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::_Dir, std::allocator<std::filesystem::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>::_M_dispose()"
(c++)"std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::_Dir, std::allocator<std::filesystem::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)"
(c++)"std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::_Dir, std::allocator<std::filesystem::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>::~_Sp_counted_ptr_inplace()"
(c++)"std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::_Dir, std::allocator<std::filesystem::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>::~_Sp_counted_ptr_inplace()"
(c++)"std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::_Dir, std::allocator<std::filesystem::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>::~_Sp_counted_ptr_inplace()"
(c++)"std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>::_M_destroy()"
(c++)"std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>::_M_dispose()"
(c++)"std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)"
(c++)"std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>::~_Sp_counted_ptr_inplace()"
(c++)"std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>::~_Sp_counted_ptr_inplace()"
(c++)"std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>::~_Sp_counted_ptr_inplace()"
(c++)"std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::_Dir, std::allocator<std::experimental::filesystem::v1::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>::_M_destroy()"
(c++)"std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::_Dir, std::allocator<std::experimental::filesystem::v1::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>::_M_dispose()"
(c++)"std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::_Dir, std::allocator<std::experimental::filesystem::v1::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)"
(c++)"std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::_Dir, std::allocator<std::experimental::filesystem::v1::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>::~_Sp_counted_ptr_inplace()"
(c++)"std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::_Dir, std::allocator<std::experimental::filesystem::v1::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>::~_Sp_counted_ptr_inplace()"
(c++)"std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::_Dir, std::allocator<std::experimental::filesystem::v1::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>::~_Sp_counted_ptr_inplace()"
(c++)"std::filesystem::__cxx11::_Dir& std::deque<std::filesystem::__cxx11::_Dir, std::allocator<std::filesystem::__cxx11::_Dir> >::emplace_back<std::filesystem::__cxx11::_Dir>(std::filesystem::__cxx11::_Dir&&)"
(c++)"std::deque<std::filesystem::__cxx11::_Dir, std::allocator<std::filesystem::__cxx11::_Dir> >::_M_pop_back_aux()"
(c++)"void std::deque<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >::_M_insert_aux<std::filesystem::__cxx11::path::iterator>(std::_Deque_iterator<std::filesystem::__cxx11::path, std::filesystem::__cxx11::path&, std::filesystem::__cxx11::path*>, std::filesystem::__cxx11::path::iterator, std::filesystem::__cxx11::path::iterator, unsigned long)"
(c++)"std::deque<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >::_M_reallocate_map(unsigned long, bool)"
(c++)"void std::deque<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >::_M_range_insert_aux<std::filesystem::__cxx11::path::iterator>(std::_Deque_iterator<std::filesystem::__cxx11::path, std::filesystem::__cxx11::path&, std::filesystem::__cxx11::path*>, std::filesystem::__cxx11::path::iterator, std::filesystem::__cxx11::path::iterator, std::forward_iterator_tag)"
(c++)"std::deque<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >::_M_new_elements_at_back(unsigned long)"
(c++)"std::deque<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >::_M_new_elements_at_front(unsigned long)"
(c++)"std::deque<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >::~deque()"
(c++)"std::deque<std::filesystem::__cxx11::path, std::allocator<std::filesystem::__cxx11::path> >::~deque()"
(c++)"std::experimental::filesystem::v1::__cxx11::_Dir& std::deque<std::experimental::filesystem::v1::__cxx11::_Dir, std::allocator<std::experimental::filesystem::v1::__cxx11::_Dir> >::emplace_back<std::experimental::filesystem::v1::__cxx11::_Dir>(std::experimental::filesystem::v1::__cxx11::_Dir&&)"
(c++)"std::deque<std::experimental::filesystem::v1::__cxx11::_Dir, std::allocator<std::experimental::filesystem::v1::__cxx11::_Dir> >::_M_pop_back_aux()"
(c++)"void std::deque<std::experimental::filesystem::v1::__cxx11::path, std::allocator<std::experimental::filesystem::v1::__cxx11::path> >::_M_insert_aux<std::experimental::filesystem::v1::__cxx11::path::iterator>(std::_Deque_iterator<std::experimental::filesystem::v1::__cxx11::path, std::experimental::filesystem::v1::__cxx11::path&, std::experimental::filesystem::v1::__cxx11::path*>, std::experimental::filesystem::v1::__cxx11::path::iterator, std::experimental::filesystem::v1::__cxx11::path::iterator, unsigned long)"
(c++)"std::deque<std::experimental::filesystem::v1::__cxx11::path, std::allocator<std::experimental::filesystem::v1::__cxx11::path> >::_M_reallocate_map(unsigned long, bool)"
(c++)"void std::deque<std::experimental::filesystem::v1::__cxx11::path, std::allocator<std::experimental::filesystem::v1::__cxx11::path> >::_M_range_insert_aux<std::experimental::filesystem::v1::__cxx11::path::iterator>(std::_Deque_iterator<std::experimental::filesystem::v1::__cxx11::path, std::experimental::filesystem::v1::__cxx11::path&, std::experimental::filesystem::v1::__cxx11::path*>, std::experimental::filesystem::v1::__cxx11::path::iterator, std::experimental::filesystem::v1::__cxx11::path::iterator, std::forward_iterator_tag)"
(c++)"std::deque<std::experimental::filesystem::v1::__cxx11::path, std::allocator<std::experimental::filesystem::v1::__cxx11::path> >::_M_new_elements_at_back(unsigned long)"
(c++)"std::deque<std::experimental::filesystem::v1::__cxx11::path, std::allocator<std::experimental::filesystem::v1::__cxx11::path> >::_M_new_elements_at_front(unsigned long)"
(c++)"std::deque<std::experimental::filesystem::v1::__cxx11::path, std::allocator<std::experimental::filesystem::v1::__cxx11::path> >::~deque()"
(c++)"std::deque<std::experimental::filesystem::v1::__cxx11::path, std::allocator<std::experimental::filesystem::v1::__cxx11::path> >::~deque()"
(c++)"std::filesystem::__cxx11::path::_Cmpt& std::vector<std::filesystem::__cxx11::path::_Cmpt, std::allocator<std::filesystem::__cxx11::path::_Cmpt> >::emplace_back<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::filesystem::__cxx11::path::_Type, unsigned long&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::filesystem::__cxx11::path::_Type&&, unsigned long&)"
(c++)"void std::vector<std::filesystem::__cxx11::path::_Cmpt, std::allocator<std::filesystem::__cxx11::path::_Cmpt> >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::filesystem::__cxx11::path::_Type, unsigned long&>(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path::_Cmpt*, std::vector<std::filesystem::__cxx11::path::_Cmpt, std::allocator<std::filesystem::__cxx11::path::_Cmpt> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::filesystem::__cxx11::path::_Type&&, unsigned long&)"
(c++)"void std::vector<std::filesystem::__cxx11::path::_Cmpt, std::allocator<std::filesystem::__cxx11::path::_Cmpt> >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::filesystem::__cxx11::path::_Type, int>(__gnu_cxx::__normal_iterator<std::filesystem::__cxx11::path::_Cmpt*, std::vector<std::filesystem::__cxx11::path::_Cmpt, std::allocator<std::filesystem::__cxx11::path::_Cmpt> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::filesystem::__cxx11::path::_Type&&, int&&)"
(c++)"std::vector<std::filesystem::__cxx11::path::_Cmpt, std::allocator<std::filesystem::__cxx11::path::_Cmpt> >::~vector()"
(c++)"std::vector<std::filesystem::__cxx11::path::_Cmpt, std::allocator<std::filesystem::__cxx11::path::_Cmpt> >::~vector()"
(c++)"std::vector<std::filesystem::__cxx11::path::_Cmpt, std::allocator<std::filesystem::__cxx11::path::_Cmpt> >::operator=(std::vector<std::filesystem::__cxx11::path::_Cmpt, std::allocator<std::filesystem::__cxx11::path::_Cmpt> > const&)"
(c++)"std::experimental::filesystem::v1::__cxx11::path::_Cmpt& std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> >::emplace_back<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::experimental::filesystem::v1::__cxx11::path::_Type, unsigned long&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::experimental::filesystem::v1::__cxx11::path::_Type&&, unsigned long&)"
(c++)"void std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::experimental::filesystem::v1::__cxx11::path::_Type, unsigned long&>(__gnu_cxx::__normal_iterator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt*, std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::experimental::filesystem::v1::__cxx11::path::_Type&&, unsigned long&)"
(c++)"void std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::experimental::filesystem::v1::__cxx11::path::_Type, int>(__gnu_cxx::__normal_iterator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt*, std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&, std::experimental::filesystem::v1::__cxx11::path::_Type&&, int&&)"
(c++)"std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> >::_M_erase(__gnu_cxx::__normal_iterator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt*, std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> > >)"
(c++)"std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> >::~vector()"
(c++)"std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> >::~vector()"
(c++)"std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> >::operator=(std::vector<std::experimental::filesystem::v1::__cxx11::path::_Cmpt, std::allocator<std::experimental::filesystem::v1::__cxx11::path::_Cmpt> > const&)"
(c++)"void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::emplace_back<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)"
(c++)"std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_default_append(unsigned long)"
(c++)"void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<char (&) [128]>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, char (&) [128])"
(c++)"void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)"
(c++)"void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)"
(c++)"std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::reserve(unsigned long)"
(c++)"std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::~vector()"
(c++)"std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::~vector()"
(c++)"std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator=(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)"
(c++)"void std::vector<char const*, std::allocator<char const*> >::_M_realloc_insert<char const (&) [128]>(__gnu_cxx::__normal_iterator<char const**, std::vector<char const*, std::allocator<char const*> > >, char const (&) [128])"
(c++)"std::vector<bool, std::allocator<bool> >::_M_fill_insert(std::_Bit_iterator, unsigned long, bool)"
(c++)"std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long)"
(c++)"void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::forward_iterator_tag)"
(c++)"void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag)"
(c++)"void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag)"
(c++)"std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace_aux(unsigned long, unsigned long, unsigned long, char)"
(c++)"std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::swap(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)"
(c++)"std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::resize(unsigned long, char)"
(c++)"std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long)"
(c++)"std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)"
(c++)"std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long)"
(c++)"std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&)"
(c++)"std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&)"
(c++)"std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_replace(unsigned long, unsigned long, wchar_t const*, unsigned long)"
(c++)"std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::resize(unsigned long, wchar_t)"
(c++)"std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_create(unsigned long&, unsigned long)"
(c++)"std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_mutate(unsigned long, unsigned long, wchar_t const*, unsigned long)"
(c++)"std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf()"
(c++)"std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf()"
(c++)"std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf()"
(c++)"void std::_Destroy<std::_Deque_iterator<std::filesystem::__cxx11::path, std::filesystem::__cxx11::path&, std::filesystem::__cxx11::path*> >(std::_Deque_iterator<std::filesystem::__cxx11::path, std::filesystem::__cxx11::path&, std::filesystem::__cxx11::path*>, std::_Deque_iterator<std::filesystem::__cxx11::path, std::filesystem::__cxx11::path&, std::filesystem::__cxx11::path*>)"
(c++)"void std::_Destroy<std::_Deque_iterator<std::experimental::filesystem::v1::__cxx11::path, std::experimental::filesystem::v1::__cxx11::path&, std::experimental::filesystem::v1::__cxx11::path*> >(std::_Deque_iterator<std::experimental::filesystem::v1::__cxx11::path, std::experimental::filesystem::v1::__cxx11::path&, std::experimental::filesystem::v1::__cxx11::path*>, std::_Deque_iterator<std::experimental::filesystem::v1::__cxx11::path, std::experimental::filesystem::v1::__cxx11::path&, std::experimental::filesystem::v1::__cxx11::path*>)"
(c++)"std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)"
(c++)"std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)"
(c++)"typeinfo for __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >"
(c++)"typeinfo for std::filesystem::__cxx11::filesystem_error"
(c++)"typeinfo for std::experimental::filesystem::v1::__cxx11::filesystem_error"
(c++)"typeinfo for std::_Mutex_base<(__gnu_cxx::_Lock_policy)2>"
(c++)"typeinfo for std::codecvt_utf8<wchar_t, 1114111ul, (std::codecvt_mode)0>"
(c++)"typeinfo for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>"
(c++)"typeinfo for std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>"
(c++)"typeinfo for std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::_Dir, std::allocator<std::filesystem::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>"
(c++)"typeinfo for std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>"
(c++)"typeinfo for std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::_Dir, std::allocator<std::experimental::filesystem::v1::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>"
(c++)"typeinfo for std::bad_alloc"
(c++)"typeinfo for std::exception"
(c++)"typeinfo name for __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >"
(c++)"typeinfo name for std::filesystem::__cxx11::filesystem_error"
(c++)"typeinfo name for std::experimental::filesystem::v1::__cxx11::filesystem_error"
(c++)"typeinfo name for std::_Mutex_base<(__gnu_cxx::_Lock_policy)2>"
(c++)"typeinfo name for std::codecvt_utf8<wchar_t, 1114111ul, (std::codecvt_mode)0>"
(c++)"typeinfo name for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>"
(c++)"typeinfo name for std::_Sp_make_shared_tag"
(c++)"typeinfo name for std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>"
(c++)"typeinfo name for std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::_Dir, std::allocator<std::filesystem::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>"
(c++)"typeinfo name for std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>"
(c++)"typeinfo name for std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::_Dir, std::allocator<std::experimental::filesystem::v1::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>"
(c++)"typeinfo name for std::bad_alloc"
(c++)"typeinfo name for std::exception"
(c++)"vtable for __gnu_cxx::stdio_filebuf<char, std::char_traits<char> >"
(c++)"vtable for std::filesystem::__cxx11::filesystem_error"
(c++)"vtable for std::experimental::filesystem::v1::__cxx11::filesystem_error"
(c++)"vtable for std::codecvt_utf8<wchar_t, 1114111ul, (std::codecvt_mode)0>"
(c++)"vtable for std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::filesystem::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>"
(c++)"vtable for std::_Sp_counted_ptr_inplace<std::filesystem::__cxx11::_Dir, std::allocator<std::filesystem::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>"
(c++)"vtable for std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack, std::allocator<std::experimental::filesystem::v1::__cxx11::recursive_directory_iterator::_Dir_stack>, (__gnu_cxx::_Lock_policy)2>"
(c++)"vtable for std::_Sp_counted_ptr_inplace<std::experimental::filesystem::v1::__cxx11::_Dir, std::allocator<std::experimental::filesystem::v1::__cxx11::_Dir>, (__gnu_cxx::_Lock_policy)2>"
(c++)"std::_Sp_make_shared_tag::_S_ti()::__tag"
xrAcquireSwapchainImage
xrApplyHapticFeedback
xrAttachSessionActionSets
xrBeginFrame
xrBeginSession
xrCreateAction
xrCreateActionSet
xrCreateActionSpace
xrCreateInstance
xrCreateReferenceSpace
xrCreateSession
xrCreateSwapchain
xrDestroyAction
xrDestroyActionSet
xrDestroyInstance
xrDestroySession
xrDestroySpace
xrDestroySwapchain
xrEndFrame
xrEndSession
xrEnumerateApiLayerProperties
xrEnumerateBoundSourcesForAction
xrEnumerateEnvironmentBlendModes
xrEnumerateInstanceExtensionProperties
xrEnumerateReferenceSpaces
xrEnumerateSwapchainFormats
xrEnumerateSwapchainImages
xrEnumerateViewConfigurationViews
xrEnumerateViewConfigurations
xrGetActionStateBoolean
xrGetActionStateFloat
xrGetActionStatePose
xrGetActionStateVector2f
xrGetCurrentInteractionProfile
xrGetInputSourceLocalizedName
xrGetInstanceProcAddr
xrGetInstanceProperties
xrGetReferenceSpaceBoundsRect
xrGetSystem
xrGetSystemProperties
xrGetViewConfigurationProperties
xrLocateSpace
xrLocateViews
xrPathToString
xrPollEvent
xrReleaseSwapchainImage
xrRequestExitSession
xrResultToString
xrStopHapticFeedback
xrStringToPath
xrStructureTypeToString
xrSuggestInteractionProfileBindings
xrSyncActions
xrWaitFrame
xrWaitSwapchainImage
When running the samples_win32 program, Windows Mixed Reality does not start even though Mixed Reality OpenXR Runtime indicates that it is installed and active.
At the end of the execution it indicates the following error:
Exception produced in 0x00007FFFBE2F9129 in BasicXrApp_win32.exe: Microsoft C ++ exception: wxr :: XrResultException in memory location 0x0000004B1712EB90.
For what is this?
Can you help me?
When reviewing the loader docs, I decided to dump the list of exported symbols from the loader, when built as a dynamic library on Windows. More than I expected showed up - in particular, note the first few:
_LoaderGenTermXrResultToString@16
_LoaderGenTermXrStructureTypeToString@16
_LoaderXrTermCreateApiLayerInstance@12
_LoaderXrTermCreateDebugUtilsMessengerEXT@16
_LoaderXrTermCreateInstance@8
_LoaderXrTermDestroyDebugUtilsMessengerEXT@8
_LoaderXrTermDestroyInstance@8
_LoaderXrTermGetInstanceProcAddr@16
_LoaderXrTermSetDebugUtilsObjectNameEXT@12
_LoaderXrTermSubmitDebugUtilsMessageEXT@28
_xrAcquireSwapchainImage@16
_xrApplyHapticFeedback@20
_xrBeginFrame@12
_xrBeginSession@12
_xrConvertTimeToTimespecTimeKHR@20
_xrConvertTimeToWin32PerformanceCounterKHR@20
_xrConvertTimespecTimeToTimeKHR@16
_xrConvertWin32PerformanceCounterToTimeKHR@16
_xrCreateAction@16
_xrCreateActionSet@16
_xrCreateActionSpace@16
_xrCreateDebugUtilsMessengerEXT@16
_xrCreateInstance@8
_xrCreateReferenceSpace@16
_xrCreateSession@16
_xrCreateSwapchain@16
_xrDestroyAction@8
_xrDestroyActionSet@8
_xrDestroyDebugUtilsMessengerEXT@8
_xrDestroyInstance@8
_xrDestroySession@8
_xrDestroySpace@8
_xrDestroySwapchain@8
_xrEndFrame@12
_xrEndSession@8
_xrEnumerateApiLayerProperties@12
_xrEnumerateEnvironmentBlendModes@28
_xrEnumerateInstanceExtensionProperties@16
_xrEnumerateReferenceSpaces@20
_xrEnumerateSwapchainFormats@20
_xrEnumerateSwapchainImages@20
_xrEnumerateViewConfigurationViews@32
_xrEnumerateViewConfigurations@28
_xrGetActionStateBoolean@20
_xrGetActionStatePose@20
_xrGetActionStateVector1f@20
_xrGetActionStateVector2f@20
_xrGetBoundSourcesForAction@20
_xrGetCurrentInteractionProfile@20
_xrGetD3D10GraphicsRequirementsKHR@20
_xrGetD3D11GraphicsRequirementsKHR@20
_xrGetD3D12GraphicsRequirementsKHR@20
_xrGetInputSourceLocalizedName@36
_xrGetInstanceProcAddr@16
_xrGetInstanceProperties@12
_xrGetOpenGLGraphicsRequirementsKHR@20
_xrGetReferenceSpaceBoundsRect@16
_xrGetSystem@16
_xrGetSystemProperties@20
_xrGetViewConfigurationProperties@24
_xrGetVisibilityMaskKHR@24
_xrGetVulkanDeviceExtensionsKHR@28
_xrGetVulkanGraphicsDeviceKHR@24
_xrGetVulkanGraphicsRequirementsKHR@20
_xrGetVulkanInstanceExtensionsKHR@28
_xrLocateSpace@28
_xrLocateViews@28
_xrPathToString@28
_xrPerfSettingsSetPerformanceLevelEXT@16
_xrPollEvent@12
_xrReleaseSwapchainImage@12
_xrResultToString@16
_xrSessionBeginDebugUtilsLabelRegionEXT@12
_xrSessionEndDebugUtilsLabelRegionEXT@8
_xrSessionInsertDebugUtilsLabelEXT@12
_xrSetDebugUtilsObjectNameEXT@12
_xrSetInteractionProfileSuggestedBindings@12
_xrStopHapticFeedback@16
_xrStringToPath@16
_xrStructureTypeToString@16
_xrSubmitDebugUtilsMessageEXT@28
_xrSyncActionData@16
_xrThermalGetTemperatureTrendEXT@24
_xrWaitFrame@16
_xrWaitSwapchainImage@12
xrEnumerateViewConfigurations
is a two-call-idiom function. A simplified example of using it is....
uint32_t viewConfigurationTypeCountOutput = 0;
uint32_t viewConfigurationTypeCapacityInput = 0;
xrEnumerateViewConfigurations(instance, systemId, viewConfigurationTypeCapacityInput, &viewConfigurationTypeCountOutput, nullptr));
std::vector<XrViewConfigurationType> output;
output.resize(viewConfigurationTypeCountOutput);
viewConfigurationTypeCapacityInput = viewConfigurationTypeCountOutput;
result = xrEnumerateViewConfigurations(instance, systemId, viewConfigurationTypeCapacityInput, &viewConfigurationTypeCountOutput, output.data()));
However, this code is triggering a validation error, because the validation logic is trying to verify that the contents of the output buffer are valid enums before the call to the implementation. However, calling output.resize()
here default initializes the new values to 0, which is not one of the valid XrViewConfigurationType
enums.
While it may be reasonable to check the structure type and chain information for output buffers that return extensible structures, it's not reasonable to check other members, or in the case of enums like this to check the enum value for an output buffer. That data is specifically intended to be overwritten.
Loader should not provide an implementation for ResultToString() and StructToString() API entry points. Either strip them out entirely, or retain for the loader's internal use but ensure they're not linked into the entry point's dispatch chain.
cc @Ralith
Can't really load a 64-bit so into a 32-bit process, right?
I've seen some concerns (including my own) about the current CRT choice on MSVC for the loader:
(see for example https://github.com/microsoft/vcpkg/blob/master/ports/openxr-loader/portfile.cmake#L22 )
Can anyone fill me in (and possibly the docs) on what the rationale is for this behavior? Does it make sense to change it, or allow it to be configurable?
My OS is windows,I set XR_API_LAYER_PATH like this
"D:\OpenXR-SDK-Source-master\build\src\tests\loader_test\resources\layers\XrApiLayer_test.json"
bool FileSysUtilsPathExists(const std::string& path) { return (1 == PathFileExistsW(utf8_to_wide(path).c_str())); }
return false,I can not load the test apilayer.
And then I set XR_API_LAYER_PATH like this "D:\OpenXR-SDK-Source-master\build\src\tests\loader_test\resources\layers" I get INVALID_HANDLE_VALUE at here
bool FileSysUtilsFindFilesInPath(const std::string& path, std::vector<std::string>& files) {
WIN32_FIND_DATAW file_data;
HANDLE file_handle = FindFirstFileW(utf8_to_wide(path).c_str(), &file_data);
if (file_handle != INVALID_HANDLE_VALUE) {
do {
if (!(file_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
files.push_back(wide_to_utf8(file_data.cFileName));
}
} while (FindNextFileW(file_handle, &file_data));
return true;
}
return false;
}
the problem is when I pass my path to function "CopyIncludedPaths" ,this function change my path append "\" behind it.What ever I set XR_API_LAYER_PATH environmental variable is a json file path or a directory .And how should I set XR_API_LAYER_PATH environmental variable?
The draft loader design document (#27) states:
On Linux, the active runtime information is contained inside a JSON-formatted file located under the folder:
/usr/local/share/openxr/<major_api_version>`
I propose a different strategy: select the first openxr/$VERSION/active_runtime.json
found by searching first $XDG_CONFIG_HOME
, then the elements of $XDG_CONFIG_DIRS
, in order. If an environment variable is not set or the process is SUID, the freedesktop.org fallback values are used, unless a more appropriate fallback is specified by the target environment.
This has a number of advantages:
$XDG_CONFIG_HOME/openxr/$VERSION/active_runtime.json
without requiring elevated privileges./usr/local
is not a standard prefix for packages installed through the system's package manager, and runtime packages targeting that location are unlikely to be supported by major distributions. It is also not a standard prefix for administrator-controlled configuration files associated with system infrastructure such as a package-manager-installed OpenXR runtime or loader./usr/local
does not exist on NixOS, and indeed no NixOS packages may write to /usr
at all. Such environments provide XDG environment variables identifying the correct locations, allowing precompiled binaries to Just Work even if they were not specifically targeted to the environment. Such environments can also override the fallback paths in their packaging of the OpenXR loader.Extension is a library?Or a interface implement by myself.In the document The OpenXR Specification Chapter 12 List of Extensions.These Extensions all ready exist in my system?If all ready exist,where are there?How to use these Extensions all ready exist and how to "develop" myself Extensions ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.