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

static memory alternative for std::function #391

Closed
MatthiasKillat opened this issue Nov 23, 2020 · 0 comments · Fixed by #473
Closed

static memory alternative for std::function #391

MatthiasKillat opened this issue Nov 23, 2020 · 0 comments · Fixed by #473
Assignees
Labels
enhancement New feature

Comments

@MatthiasKillat
Copy link
Contributor

Brief feature description

We need an alternative to std::function as a owning generic function wrapper. This alternative should

  • not use dynamic memory (or make this optional/configurable)
  • not employ virtual functions
  • own all data to execute the callable
  • be compatible with functors (lambdas) and function pointers

Detailed information

This is needed to store callables without using dynamic memory as in std::function.
Internal virtual function calls are not allowed if we want to store these callables in shared memory.

This can potentially help to resolve #131, but here it may not be needed (using function_ref may be sufficient). Nevertheless an owning wrapper compatible with our constraints would be useful in future software design.

@MatthiasKillat MatthiasKillat added the enhancement New feature label Nov 23, 2020
@MatthiasKillat MatthiasKillat self-assigned this Nov 23, 2020
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Dec 13, 2020
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Dec 13, 2020
… bug

Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Dec 21, 2020
… pointer

Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Dec 27, 2020
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Dec 27, 2020
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Dec 28, 2020
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Dec 28, 2020
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Dec 29, 2020
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Dec 29, 2020
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Jan 2, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Jan 2, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Jan 2, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Jan 2, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Jan 4, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Feb 26, 2021
…rable

Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Feb 26, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Feb 26, 2021
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Feb 26, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Mar 1, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Mar 1, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Mar 1, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Mar 1, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Mar 1, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Mar 1, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Mar 1, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Mar 1, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 2, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 9, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 17, 2021
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 17, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 17, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 17, 2021
…orted case

Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 17, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 17, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 20, 2021
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 21, 2021
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 21, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 21, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 21, 2021
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 21, 2021
…ition

Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 21, 2021
… function_ref

Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 26, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 26, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 26, 2021
…emantics

Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 26, 2021
…ed on alignment

Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 27, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 27, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue May 27, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Jun 1, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Jun 1, 2021
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Jun 2, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Jun 2, 2021
…td-function' of github.com:ApexAI/iceoryx into iox-eclipse-iceoryx#391-static-memory-alternative-for-std-function
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Jun 2, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Jun 2, 2021
MatthiasKillat added a commit to ApexAI/iceoryx that referenced this issue Jun 2, 2021
Signed-off-by: Matthias Killat <matthias.killat@apex.ai>
MatthiasKillat added a commit that referenced this issue Jun 4, 2021
…e-for-std-function

Iox #391 static memory alternative for std function
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant