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

[WIP] tailored_alloc/delete: make connection_table a CRTP base class #230

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Commits on Jul 12, 2021

  1. Configuration menu
    Copy the full SHA
    0ee6ce8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5651b8c View commit details
    Browse the repository at this point in the history
  3. Simplify and fix up tailored_alloc.

    GCC isn't happy with a simple
        size_t num_bytes = offsetof(T, c.move_table[degree]) + degree;
    so we have to keep the multiplication for now.
    Quuxplusone committed Jul 12, 2021
    Configuration menu
    Copy the full SHA
    00a6ec0 View commit details
    Browse the repository at this point in the history
  4. Turn connection_table into a CRTP base class.

    It's now 8 bytes bigger than before, but more type-safe
    and doesn't require offsetof anymore.
    Quuxplusone committed Jul 12, 2021
    Configuration menu
    Copy the full SHA
    ab2dc66 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e153bb5 View commit details
    Browse the repository at this point in the history
  6. Hide the inherited members like spin() from cell and heptagon.

    We don't want `c1->spin(d)` to compile, but we do want `c1->c().spin(d)`
    to compile. Make the CRTP inheritance private and make `->c()` the
    magic incantation to poke through that privateness.
    Quuxplusone committed Jul 12, 2021
    Configuration menu
    Copy the full SHA
    16ee53e View commit details
    Browse the repository at this point in the history