{"id":62232,"library":"xproperty","title":"xproperty","description":"Traitlets-like C++ properties and implementation of the observer pattern","status":"active","version":"0.13.0","language":"cpp","source_language":null,"source_url":null,"tags":["properties","observer","traitlets","c++"],"install":[{"cmd":"vcpkg install xproperty","lang":"bash","label":"vcpkg"},{"cmd":"# CMakeLists.txt\nfind_package(xproperty CONFIG REQUIRED)\ntarget_link_libraries(main PRIVATE xproperty::xproperty)","lang":"cmake","label":"CMake"}],"dependencies":[],"imports":[{"symbol":"xproperty/xproperty.hpp","correct":"#include <xproperty/xproperty.hpp>"}],"quickstart":{"code":"#include <xproperty/xproperty.hpp>\n#include <iostream>\n\nstruct MyClass {\n    xp::property<int> value = xp::property<int>(42, [](auto& self, int old_val, int new_val) {\n        std::cout << \"Changed from \" << old_val << \" to \" << new_val << \"\\n\";\n    });\n};\n\nint main() {\n    MyClass obj;\n    obj.value = 100; // triggers observer\n    return 0;\n}","lang":"cpp","description":"Define observable properties with change notifications"},"warnings":[],"env_vars":null,"search_vec":"'c':5,16 'implement':8 'like':4 'observ':11,14 'pattern':12 'properti':6,13 'traitlet':3,15 'traitlets-lik':2 'xproperti':1","created_at":"2026-06-17T05:21:27.636989+00:00","updated_at":"2026-06-17T05:21:27.636989+00:00","problems":[],"ecosystem":"vcpkg","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":null,"github":null,"docs":null,"changelog":null,"pypi":null,"npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["utility"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-17","next_check":"2026-12-14","install_tag":null}}