[C++-sig] wrapping complex attributes

David Abrahams dave at boost-consulting.com
Wed Nov 13 00:13:11 CET 2002


"Mike Rovner" <mike at bindkey.com> writes:

> Here is another dark corner:
>
> I have a complex C++ object:
>
> class Heavy {
>   void SetX(const char *name, const T1& val);
>   T1 GetX(const char *name);
>   void DelX(const char *name);
>   Iter<T1> EnumX();
>
>   void SetY(const char *name, const T2& val);
>   T2 GetY(const char *name);
>   void DelY(const char *name);
>   Iter<T2> EnumY();
>
>   void SetZ(const char *name, const T3& val);
>   T3 GetZ(const char *name);
>   void DelZ(const char *name);
>   Iter<T3> EnumZ();
> }
>
> It seems natural to expose class Heavy with 3 attributes: x,y and z which
> will behave like dictionaries.
> How to do that?

Use the add_property member of class_<>:

   http://www.boost.org/libs/python/doc/v2/class.html#class_-spec-modifiers

HTH,
-- 
                       David Abrahams
   dave at boost-consulting.com * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution





More information about the Cplusplus-sig mailing list