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] Concepts refactor #8

Open
wants to merge 19 commits into
base: main
Choose a base branch
from
Open

[WIP] Concepts refactor #8

wants to merge 19 commits into from

Commits on Nov 19, 2019

  1. concepts: refactor convertible_to out to is_convertible

    This is the beginning of a relatively large concepts/type-traits refactor that is going to come in over the next while. First is factoring out convertible_to so it looks/works more like the standard library version so I can start converting detector into a more user-friendly version we can actually expose.  This is a bug for GEOSX and others, and should also make our type_traits more robust once it's all in.
    trws committed Nov 19, 2019
    Configuration menu
    Copy the full SHA
    ec836c2 View commit details
    Browse the repository at this point in the history
  2. concepts: refactor detection out into detect.hpp

    With the is_convertible changes, this is the basis for the whole
    refactor setup.  Concepts will all be defined against the new detector,
    as will type traits, using the new idiom through the macro so if we need
    to do this again it wont have to touch them all.
    trws committed Nov 19, 2019
    Configuration menu
    Copy the full SHA
    d2b86c7 View commit details
    Browse the repository at this point in the history
  3. add test.runner target

    trws committed Nov 19, 2019
    Configuration menu
    Copy the full SHA
    124fe8c View commit details
    Browse the repository at this point in the history
  4. incorporate full detector tests

    tests integrated, and some concepts ported, more to go
    trws committed Nov 19, 2019
    Configuration menu
    Copy the full SHA
    f70a876 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1556f42 View commit details
    Browse the repository at this point in the history
  6. major concept refactor, they all work now

    concepts are working again, and actually have tests in detect.cpp, there
    are new macros for defining detectors, requirements (helper for
    detectors), concepts, and all-in-one doing a concept and associated
    traits.  It's possible there are breaking changes in here if anyone
    external is relying on the concepts, but since many of them were broken
    I'm hoping this will be a net benefit.
    trws committed Nov 19, 2019
    Configuration menu
    Copy the full SHA
    fbf97a0 View commit details
    Browse the repository at this point in the history
  7. add missing enable_if file

    trws committed Nov 19, 2019
    Configuration menu
    Copy the full SHA
    e0d0041 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d781ad0 View commit details
    Browse the repository at this point in the history
  9. performance-oriented refactor

    Remove unnecessary stl headers, factor out their usage, also use
    builtins for typelist lookups when available.
    trws committed Nov 19, 2019
    Configuration menu
    Copy the full SHA
    e12f75c View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    e12f749 View commit details
    Browse the repository at this point in the history
  11. optimize all_of, tuple instantiation 4x faster

    In C++17 mode use built-in fold expressions, in 14 use a simpler type.
    When in 14 mode this buys up to 30% improvement, in 17 mode it's almost
    four *times* faster to instantiate tuples now.  Should help with RAJA
    compile times where 17 is available.
    trws committed Nov 19, 2019
    Configuration menu
    Copy the full SHA
    dc91e46 View commit details
    Browse the repository at this point in the history
  12. more tuple compilation time enhancement

    Turn tuple_storage into an aggregate when possible, turns out this is
    not possible on nvcc right now, but elsewhere it's a nice little 5-20%
    bump.
    trws committed Nov 19, 2019
    Configuration menu
    Copy the full SHA
    51e66d9 View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2019

  1. Configuration menu
    Copy the full SHA
    28597de View commit details
    Browse the repository at this point in the history
  2. add invokable type trait

    trws committed Nov 20, 2019
    Configuration menu
    Copy the full SHA
    ed6892c View commit details
    Browse the repository at this point in the history
  3. add requirement/enable_if macro

    trws committed Nov 20, 2019
    Configuration menu
    Copy the full SHA
    cb60365 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c6b35e2 View commit details
    Browse the repository at this point in the history
  5. add range concept

    trws committed Nov 20, 2019
    Configuration menu
    Copy the full SHA
    ad30597 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3b0edd1 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2019

  1. Configuration menu
    Copy the full SHA
    f5e29cf View commit details
    Browse the repository at this point in the history