clap icon indicating copy to clipboard operation
clap copied to clipboard

Remove unnecessary includes from clap.h

Open Trinitou opened this issue 1 year ago • 4 comments

let's see if this passes the pull-request workflows... 😉

I think this removes some clutter. here is my theory:

  • plugin.h is included via factory/plugin-factory.h and plugin extensions (makes sense to me)
    • host.h and plugin-features.h are included via plugin.h (makes sense as well)
  • universal-plugin-id.h is included via factory/preset-discovery.h (where it is actually used)

Trinitou avatar Jan 18 '24 18:01 Trinitou

I'm not sure about that one.

The goal of clap.h is to pull everything except the draft. If x.h is included by y.h and we decide to not add x.h to clap.h, you still get x.h indirectly by including clap.h. But, if one day x.h isn't included anymore from y.h, then we need to remember to add back x.h to clap.h.

If we directly include all headers in clap.h, we don't rely upon indirect inclusion.

We use #pragma once so I believe that it is a piece of cake for the compiler and the overhead is negligible.

Having everything in clap.h facilitate navigation within an IDE maybe :thinking: .

abique avatar Jan 18 '24 19:01 abique

If clap.h is meant to be universal header I agree it should include things directly even if they are also included transitively

baconpaul avatar Jan 18 '24 21:01 baconpaul

Should we close this (incomplete) pull-request as we want a more universal solution for all includes? Or should we leave it here and bring it into a 1.2.1 discussion later? + Maybe change it into a draft?

Trinitou avatar Jan 18 '24 22:01 Trinitou

Let’s change it to draft so we don’t forget

baconpaul avatar Jan 19 '24 03:01 baconpaul