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

remove declarations of undefined static member functions #353

Closed
dhebbeker opened this issue Mar 16, 2020 · 5 comments
Closed

remove declarations of undefined static member functions #353

dhebbeker opened this issue Mar 16, 2020 · 5 comments

Comments

@dhebbeker
Copy link
Contributor

dhebbeker commented Mar 16, 2020

We used to do this in xpcc in order to document the interface (like concepts). This was never enforced by the compiler afaik. You can probably get rid of this if you want to.

Originally posted by @ekiwi in #341 (comment)

I suggest to remove the declarations of static member functions, which are never defined, for the following reasons:

  • remove redundant declarations and documentation which may eventually diverge
  • remove the potential impression (for new users like me) that there may be a generic / basic implementation which may be called using the base class
@rleh
Copy link
Member

rleh commented Mar 17, 2020

The idea of the classes defined in architecture is to define an interface which then has to be implemented for every platform. E.g. in java the classes in architecture would be interfaces, but C++ until 17 has no such feature.
I believe the usage of C++ concepts would fix all the issues. Be concept are a C++20 feature and we will have to wait at least until GCC 10 is released for ARM targets to switch to C++20.

@rleh
Copy link
Member

rleh commented Mar 17, 2020

remove the potential impression (for new users like me) that there may be a generic / basic implementation which may be called using the base class

Good point!
I guess we should not include all the :architecture:* modules in the documentation generator. Then only those architecture modules for which there are actual implementations should be included, since these are included by the platform modules as dependencies.
I will check this...

@rleh
Copy link
Member

rleh commented Mar 17, 2020

Seems to work: 8c09487

@rleh rleh mentioned this issue Mar 17, 2020
4 tasks
@dhebbeker
Copy link
Contributor Author

Thank you @rleh for taking care of the documentation.

My ultimate concern is a about the function declarations in the source code. I will leave this issue open for discussion and decision on (and potentially implementation of) the suggested actions.

@rleh
Copy link
Member

rleh commented Jul 6, 2020

I consider the problem solved by 8194b88 (#354).

@rleh rleh closed this as completed Jul 6, 2020
@rleh rleh mentioned this issue Sep 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

3 participants