• Dean Moldovan's avatar
    Reimplement static properties by extending PyProperty_Type · c91f8bd6
    Dean Moldovan authored
    Instead of creating a new unique metaclass for each type, the builtin
    `property` type is subclassed to support static properties. The new
    setter/getters always pass types instead of instances in their `self`
    argument. A metaclass is still required to support this behavior, but
    it doesn't store any data anymore, so a new one doesn't need to be
    created for each class. There is now only one common metaclass which
    is shared by all pybind11 types.
    c91f8bd6
test_methods_and_attributes.cpp 14.1 KB