{"id":13419327,"url":"https://github.com/billyquith/ponder","last_synced_at":"2025-03-15T05:30:50.497Z","repository":{"id":3243568,"uuid":"48850177","full_name":"billyquith/ponder","owner":"billyquith","description":"C++ reflection library with Lua binding, and JSON and XML serialisation.","archived":false,"fork":false,"pushed_at":"2022-10-31T03:52:31.000Z","size":9307,"stargazers_count":635,"open_issues_count":36,"forks_count":93,"subscribers_count":34,"default_branch":"master","last_synced_at":"2024-07-31T22:46:57.248Z","etag":null,"topics":["c-plus-plus","camp","cpp","cpp-library","introspection","library","lua-bindings","reflection","reflection-library","serializer","vcpkg"],"latest_commit_sha":null,"homepage":"http://billyquith.github.io/ponder/","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/billyquith.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-12-31T13:22:02.000Z","updated_at":"2024-07-31T16:27:34.000Z","dependencies_parsed_at":"2022-08-31T14:02:12.360Z","dependency_job_id":null,"html_url":"https://github.com/billyquith/ponder","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/billyquith%2Fponder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/billyquith%2Fponder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/billyquith%2Fponder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/billyquith%2Fponder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/billyquith","download_url":"https://codeload.github.com/billyquith/ponder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243690113,"owners_count":20331726,"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":["c-plus-plus","camp","cpp","cpp-library","introspection","library","lua-bindings","reflection","reflection-library","serializer","vcpkg"],"created_at":"2024-07-30T22:01:14.436Z","updated_at":"2025-03-15T05:30:50.066Z","avatar_url":"https://github.com/billyquith.png","language":"C++","readme":"\nPonder\n------\n\nLinux \u0026 OSX: [![Build Status](https://travis-ci.org/billyquith/ponder.svg?branch=master)](https://travis-ci.org/billyquith/ponder) -\nWindows: [![Build status](https://ci.appveyor.com/api/projects/status/spskn9y93e8osve2/branch/master?svg=true)](https://ci.appveyor.com/project/billyquith/ponder/branch/master)\n\nCurrents status: 3.2-alpha. API is unstable as features added/changed.\n\n### New: Version 3\n\nV1 replaced Boost with C++11. V2 added Lua bindings. V3 refactored to remove some warts,\nease future development, and re-add serialisation. API is evolving.\n\n### About\n\nPonder is a C++ multi-purpose reflection library. It provides an abstraction for most\nof the high-level concepts of C++: classes, enumerations, functions, properties.\n\nC++1x supplies better support for compile-time reflection. Runtime reflection involves\nbaking compile-time reflection into the executable so this can be used at runtime. Ponder\npresents a simple API for baking your objects so that they can be used at runtime. The baking\ncan also, optionally, userdata and support for Lua scripting.\n\nFeatures:\n\n- API to expose C++ objects.\n- Runtime API to create objects, call functions, and read and modify properties.\n- Automatic Lua binding generation.\n\n### Links\n\n - [Homepage \u0026 documentation](http://billyquith.github.io/ponder/).\n - [GitHub project](https://github.com/billyquith/ponder).\n - [Release notes][rel].\n - [Maintainer blog](https://chinbilly.blogspot.com/search/label/ponder)\n\n### Build\n\nCompilers supported. [Requires C++17][compsupp].\n\n- MSVC 2017+\n- Xcode 8+\n- GCC 7+\n- Clang 3.9+\n\nPonder uses CMake to generate project files which are then used to build the project ([Build\ndocs][build]). E.g. Use `make` to build Ponder (but you can use any build system CMake supports):\n\n```bash\ngit clone https://github.com/billyquith/ponder.git\ncd ponder\nmkdir build \u0026\u0026 cd build\ncmake -G \"Unix Makefiles\" ..\nmake\n```\n\n### Package Managers\n\nWindows [vcpkg][vcpkg]:\n\n    vcpkg install ponder\n\n### History\n\nPonder is a fork of [CAMP][camp], which has been retired by the original authors. CAMP relies\non Boost, and is pre-C++11. In Ponder, the Boost dependency has been removed, and instead,\nC++11 features are used. CAMP was developed by Technogerma Systems France and then by [Tegesoft][tege].\n\nSee [CHANGELOG.md](CHANGELOG.md) and [release notes][rel] for more details on Ponder changes.\n\n[rel]: https://billyquith.github.io/ponder/blog_ponder_3.html\n[cl]: https://github.com/billyquith/ponder/CHANGELOG.md\n[build]: https://billyquith.github.io/ponder/building_ponder.html\n[tege]: http://www.tegesoft.com\n[camp]: https://github.com/tegesoft/camp\n[vcpkg]: https://docs.microsoft.com/en-us/cpp/build/vcpkg?view=msvc-160\n[compsupp]: https://en.cppreference.com/w/cpp/compiler_support\n","funding_links":[],"categories":["TODO scan for Android support in followings","Reflection","C++","映射","Libraries"],"sub_categories":["物理学","C++"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbillyquith%2Fponder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbillyquith%2Fponder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbillyquith%2Fponder/lists"}