{"id":13730551,"url":"https://github.com/rigtorp/Function","last_synced_at":"2025-05-08T03:30:50.648Z","repository":{"id":46725131,"uuid":"46805180","full_name":"rigtorp/Function","owner":"rigtorp","description":"Heap allocation free version of C++11 std::function","archived":false,"fork":false,"pushed_at":"2021-10-06T08:54:24.000Z","size":7,"stargazers_count":55,"open_issues_count":1,"forks_count":16,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-06T06:09:32.721Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rigtorp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-24T16:47:44.000Z","updated_at":"2024-11-03T00:18:01.000Z","dependencies_parsed_at":"2022-09-14T21:01:26.005Z","dependency_job_id":null,"html_url":"https://github.com/rigtorp/Function","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rigtorp%2FFunction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rigtorp%2FFunction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rigtorp%2FFunction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rigtorp%2FFunction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rigtorp","download_url":"https://codeload.github.com/rigtorp/Function/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252992896,"owners_count":21837188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T02:01:16.482Z","updated_at":"2025-05-08T03:30:50.343Z","avatar_url":"https://github.com/rigtorp.png","language":"C++","readme":"# Function.h\n\nHeap allocation free version of C++11 *std::function*.\n\nFunction.h stores the closure in an internal buffer instead of heap\nallocated memory. This is useful for low latency agent and thread pool\nsystems. Please note that the captured values can perfom allocations,\nfor example *std::string*.\n\n## Benchmark\n\n*Function.h* is quite a lot faster than *std::function* to\n construct. Invocation overhead is the same for both.\n\nCompiled with `gcc -O3 -fno-devirtualize` (gcc 5.2).\n\n```\nconstruction overhead\n  std::function: 42ns/op\n  Function:      4ns/op\n  \ninvokation overhead:\n  std::function: 2ns/op\n  Function:      2ns/op\n  virtual:       2ns/op\n```\n","funding_links":[],"categories":["C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frigtorp%2FFunction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frigtorp%2FFunction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frigtorp%2FFunction/lists"}