All Projects → billyquith → Ponder

billyquith / Ponder

Licence: other
C++ reflection library with Lua binding, and JSON and XML serialisation.

Programming Languages

cpp
1120 projects
reflection
70 projects
introspection
24 projects

Projects that are alternatives of or similar to Ponder

Websocket
The Hoa\Websocket library.
Stars: ✭ 421 (-4.75%)
Mutual labels:  library
Cordova Plugin Network Information
Apache Cordova Plugin network-information
Stars: ✭ 429 (-2.94%)
Mutual labels:  library
React Native Blurhash
🖼️ A library to show colorful blurry placeholders while your content loads.
Stars: ✭ 430 (-2.71%)
Mutual labels:  library
Shiplift
🐳 🦀 rust interface for maneuvering docker containers
Stars: ✭ 423 (-4.3%)
Mutual labels:  library
Pynlpl
PyNLPl, pronounced as 'pineapple', is a Python library for Natural Language Processing. It contains various modules useful for common, and less common, NLP tasks. PyNLPl can be used for basic tasks such as the extraction of n-grams and frequency lists, and to build simple language model. There are also more complex data types and algorithms. Moreover, there are parsers for file formats common in NLP (e.g. FoLiA/Giza/Moses/ARPA/Timbl/CQL). There are also clients to interface with various NLP specific servers. PyNLPl most notably features a very extensive library for working with FoLiA XML (Format for Linguistic Annotation).
Stars: ✭ 426 (-3.62%)
Mutual labels:  library
Jsstore
A complete IndexedDB wrapper with SQL like syntax.
Stars: ✭ 430 (-2.71%)
Mutual labels:  library
Google Material Icons For Sketch
Google Material Icons Library for Sketch App
Stars: ✭ 420 (-4.98%)
Mutual labels:  library
Candybar Library
Android icon pack material dashboard
Stars: ✭ 437 (-1.13%)
Mutual labels:  library
Qsimpleupdater
Updater system for Qt applications
Stars: ✭ 429 (-2.94%)
Mutual labels:  library
Globjects
C++ library strictly wrapping OpenGL objects.
Stars: ✭ 431 (-2.49%)
Mutual labels:  library
Machineid
Get the unique machine id of any host (without admin privileges)
Stars: ✭ 422 (-4.52%)
Mutual labels:  library
Weatherview
WeatherView is an Android Library let you make cool weather animations for your app
Stars: ✭ 426 (-3.62%)
Mutual labels:  library
Graph
Graph algorithms and data structures
Stars: ✭ 431 (-2.49%)
Mutual labels:  library
Log Process Errors
Show some ❤️ to Node.js process errors
Stars: ✭ 424 (-4.07%)
Mutual labels:  library
Android Dev Sources
All those Android development sources that you need to be and stay awesome!
Stars: ✭ 434 (-1.81%)
Mutual labels:  library
Whu Library Seat
武汉大学图书馆助手 - 桌面端
Stars: ✭ 423 (-4.3%)
Mutual labels:  library
Cpp Base64
base64 encoding and decoding with c++
Stars: ✭ 429 (-2.94%)
Mutual labels:  library
Lambdahack
Haskell game engine library for roguelike dungeon crawlers; please offer feedback, e.g., after trying out the sample game with the web frontend at
Stars: ✭ 439 (-0.68%)
Mutual labels:  library
Pyrlang
Erlang node implemented in Python 3.5+ (Asyncio-based)
Stars: ✭ 436 (-1.36%)
Mutual labels:  library
Create React Library
⚡CLI for creating reusable react libraries.
Stars: ✭ 4,554 (+930.32%)
Mutual labels:  library

Ponder

Linux & OSX: Build Status - Windows: Build status

Currents status: 3.2-alpha. API is unstable as features added/changed.

New: Version 3

V1 replaced Boost with C++11. V2 added Lua bindings. V3 refactored to remove some warts, ease future development, and re-add serialisation. API is evolving.

About

Ponder is a C++ multi-purpose reflection library. It provides an abstraction for most of the high-level concepts of C++: classes, enumerations, functions, properties.

C++1x supplies better support for compile-time reflection. Runtime reflection involves baking compile-time reflection into the executable so this can be used at runtime. Ponder presents a simple API for baking your objects so that they can be used at runtime. The baking can also, optionally, userdata and support for Lua scripting.

Features:

  • API to expose C++ objects.
  • Runtime API to create objects, call functions, and read and modify properties.
  • Automatic Lua binding generation.

Links

Build

Compilers supported. Requires C++17.

  • MSVC 2017+
  • Xcode 8+
  • GCC 7+
  • Clang 3.9+

Ponder uses CMake to generate project files which are then used to build the project (Build docs). E.g. Use make to build Ponder (but you can use any build system CMake supports):

git clone https://github.com/billyquith/ponder.git
cd ponder
mkdir build && cd build
cmake -G "Unix Makefiles" ..
make

Package Managers

Windows vcpkg:

vcpkg install ponder

History

Ponder is a fork of CAMP, which has been retired by the original authors. CAMP relies on Boost, and is pre-C++11. In Ponder, the Boost dependency has been removed, and instead, C++11 features are used. CAMP was developed by Technogerma Systems France and then by Tegesoft.

See CHANGELOG.md and release notes for more details on Ponder changes.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].