Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support non-clang consumers #4

Open
jwhpryor opened this issue May 26, 2022 · 1 comment
Open

Support non-clang consumers #4

jwhpryor opened this issue May 26, 2022 · 1 comment
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@jwhpryor
Copy link
Collaborator

Currently JNI Bind relies on a clang extension (see invocable_map.h).

InvocableMap should support either compiling with this extension, or compiling with C++20 string literals.

This may force a small change in the calling convention for methods and fields, so this must be done before the initial release to prevent introducing legacy or dual APIs for invocation.

In the future, this will also enable non-JNI consumers.

@jwhpryor jwhpryor self-assigned this May 26, 2022
@jwhpryor jwhpryor added the enhancement New feature or request label May 26, 2022
@jwhpryor jwhpryor changed the title Support non-clang conusmers Support non-clang consumers Sep 4, 2022
@jwhpryor jwhpryor added this to the Release 2.0 milestone Mar 17, 2024
@jwhpryor
Copy link
Collaborator Author

As best I can tell, there is no way to replicate the logic of QueryableMap.

As of C++20 we can exploit string literals, and provide an API usable by all.

copybara-service bot pushed a commit that referenced this issue Oct 21, 2024
C++20 offers string literals as non-type template parameters and this would likely allow us to move away from using a clang extension which would allow for gcc support.

This is just experimentation for now.

See #4.

PiperOrigin-RevId: 687923300
copybara-service bot pushed a commit that referenced this issue Oct 21, 2024
C++20 offers string literals as non-type template parameters and this would likely allow us to move away from using a clang extension which would allow for gcc support.

This is just experimentation for now.

See #4.

PiperOrigin-RevId: 687923300
copybara-service bot pushed a commit that referenced this issue Oct 21, 2024
C++20 offers string literals as non-type template parameters and this would likely allow us to move away from using a clang extension which would allow for gcc support.

This is just experimentation for now.

See #4.

PiperOrigin-RevId: 687923300
copybara-service bot pushed a commit that referenced this issue Oct 21, 2024
C++20 offers string literals as non-type template parameters and this would likely allow us to move away from using a clang extension which would allow for gcc support.

This is just experimentation for now.

See #4.

PiperOrigin-RevId: 687923300
copybara-service bot pushed a commit that referenced this issue Oct 21, 2024
C++20 offers string literals as non-type template parameters and this would likely allow us to move away from using a clang extension which would allow for gcc support.

This is just experimentation for now.

See #4.

PiperOrigin-RevId: 687923300
copybara-service bot pushed a commit that referenced this issue Oct 21, 2024
C++20 offers string literals as non-type template parameters and this would likely allow us to move away from using a clang extension which would allow for gcc support.

This is just experimentation for now.

See #4.

PiperOrigin-RevId: 687923300
copybara-service bot pushed a commit that referenced this issue Oct 24, 2024
C++20 offers string literals as non-type template parameters and this would likely allow us to move away from using a clang extension which would allow for gcc support.

This is just experimentation for now.

See #4.

PiperOrigin-RevId: 687923300
copybara-service bot pushed a commit that referenced this issue Oct 25, 2024
C++20 offers string literals as non-type template parameters and this would likely allow us to move away from using a clang extension which would allow for gcc support.

This is just experimentation for now.

See #4.

PiperOrigin-RevId: 687923300
copybara-service bot pushed a commit that referenced this issue Oct 25, 2024
C++20 offers string literals as non-type template parameters and this would likely allow us to move away from using a clang extension which would allow for gcc support.

This is just experimentation for now.

See #4.

Some previously stripped tags have been restored on targets in order to correctly filter C++20 targets.

PiperOrigin-RevId: 687923300
copybara-service bot pushed a commit that referenced this issue Oct 25, 2024
C++20 offers string literals as non-type template parameters and this would likely allow us to move away from using a clang extension which would allow for gcc support.

This is just experimentation for now.

See #4.

Some previously stripped tags have been restored on targets in order to correctly filter C++20 targets.

PiperOrigin-RevId: 687923300
copybara-service bot pushed a commit that referenced this issue Oct 25, 2024
C++20 offers string literals as non-type template parameters and this would likely allow us to move away from using a clang extension which would allow for gcc support.

This is just experimentation for now.

See #4.

Some previously stripped tags have been restored on targets in order to correctly filter C++20 targets.

PiperOrigin-RevId: 689945174
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant