{"id":13730576,"url":"https://github.com/codeplea/pluscallback","last_synced_at":"2025-04-30T23:33:32.558Z","repository":{"id":110397709,"uuid":"45637704","full_name":"codeplea/pluscallback","owner":"codeplea","description":"easy to use callback library for C++","archived":false,"fork":false,"pushed_at":"2017-04-03T18:18:08.000Z","size":14,"stargazers_count":42,"open_issues_count":0,"forks_count":8,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-22T11:18:02.345Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://codeplea.com/pluscallback","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codeplea.png","metadata":{"files":{"readme":"README.md","changelog":"history.txt","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-05T20:34:36.000Z","updated_at":"2025-03-25T06:56:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"6be4b984-7bb5-404c-b667-28f9f4352a77","html_url":"https://github.com/codeplea/pluscallback","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/codeplea%2Fpluscallback","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeplea%2Fpluscallback/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeplea%2Fpluscallback/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeplea%2Fpluscallback/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codeplea","download_url":"https://codeload.github.com/codeplea/pluscallback/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251800761,"owners_count":21645964,"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.762Z","updated_at":"2025-04-30T23:33:32.552Z","avatar_url":"https://github.com/codeplea.png","language":"C++","readme":"# C++ Callback Library: PlusCallback\n\n*Additional documentation at:*\nhttp://codeplea.com/pluscallback\n\n## Intro\n\nPlusCallback is a C++ library, contained in a single header file, that\nimplements easy to use function and method callbacks. It is completely\ncontained in one header file, so it's trivial to add to your projects. It also\nuses the simplest syntax of any callback method I've ever seen (for C++), and\nit's quite flexible.\n\n## Code Sample\n\n    //Setup callback for TestObject.Foo().\n    cb::Callback1\u003cint, int\u003e callback(\u0026TestObject, \u0026TestClass::Foo);\n\n    //Call TestObject.Foo(5).\n    callback(5);\n\n    //Change callback to a free function.\n    callback = SomeRandomFunction;\n\n    //Call SomeRandomFunction(8).\n    callback(8);\n\n\n## Features\n\n- Contained in one header file, trivial to install\n- Portable ANSI C++ code\n- Completely free for any use (zlib license)\n- Very simple API\n- Type-safe, no macros or casts\n- Container storage safe (e.g. std::map, list, vector, etc)\n\n\n## Installation Instructions\nThis entire library is contained in one header file.\nSimply include *callback.hpp* in your project.\n\n## Examples\nSome examples are included in the examples directory:\n- example.cpp - PlusCallback example walking through most features.\n- compare.cpp - Example comparing different callback methods.\n- smoke.cpp   - Several random tests for PlusCallback.\n\n## Building Instructions\nThis library comes pre-built. If you would like to rebuild this\nlibrary, you need to run build.tcl with the TCL interpreter. You\ncan obtain TCL from http://www.tcl.tk/\nWhen rebuilding, you can change the maximum number of parameters\nsupported by callbacks.\n","funding_links":[],"categories":["C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeplea%2Fpluscallback","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeplea%2Fpluscallback","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeplea%2Fpluscallback/lists"}