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

Revise the semantics of facade #48

Merged
merged 6 commits into from
Dec 22, 2023
Merged

Conversation

mingxwa
Copy link
Collaborator

@mingxwa mingxwa commented Dec 19, 2023

Major changes

  • Added type proxy_pointer_constraints, encapsulating maximum_size, maximum_alignment, minimum_copyability, minimum_relocatability and minimum_destructibility into a single type.
  • Added 3 prototypes of proxy_pointer_constraints with popular configurations: relocatable_pointer_constraints, copyable_pointer_constraints and trivial_pointer_constraints.
  • Added concept basic_facade and concept facade.
  • Removed class templates dispatch and facade.
  • Added macro PRO_MAKE_DISPATCH_PACK as an extension.
  • Added PRO_ prefix to the existing macros to avoid collision.
  • Revised the semantics of extension PRO_DEF_FACADE, making it easier to use.

Other changes

  • Replaced the SFINAE guarantee of basic_facade_traits with concept facade.
  • Removed flattening_traits in the implementation of dispatch_traits.
  • Updated unit tests accordingly.

@mingxwa mingxwa requested a review from tian-lt December 21, 2023 10:37
tian-lt
tian-lt previously approved these changes Dec 22, 2023
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
proxy.h Show resolved Hide resolved
proxy.h Show resolved Hide resolved
README.md Show resolved Hide resolved
@mingxwa mingxwa merged commit a6f65fe into microsoft:main Dec 22, 2023
4 checks passed
@mingxwa mingxwa deleted the user/mingxwa/v2 branch December 22, 2023 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants