[C++-sig] Re: Refactoring, Compilation Speed, Pyste, Lua/Ruby/JavaScript...
by David Abrahams other posts by this author
Jun 17 2003 2:27PM messages near this date
[C++-sig] Re: Refactoring, Compilation Speed, Pyste, Lua/Ruby/JavaScript...
|
[C++-sig] Re: Refactoring, Compilation Speed, Pyste, Lua/Ruby/JavaScript...
Nicodemus <nicodemus@[...].br> writes:
> >I propose to divide the library's implementation into several
> >namespace layers with corresponding subdirectories of boost/python.
> >These are just rough divisions and I would welcome suggestions for
> >finer-grained layering, or better names, or... These layers are
> >generally ordered from dependencies to dependents.
> >
> > core (for lack of a better name) - This is a Python-independent
> > layer which contains the framework of the type-converter
> > registry, inheritance.hpp which manages base<->derived class
> > conversions, the exception translator framework,
> > boost/python/type_id.hpp, and possibly a few components from the
> > current boost/python/detail.
> >
> > converter - This stuff which handles Python-specific conversion
> > mechanics is mostly already segregated in boost/python/converter,
> > but it could be better organized. Almost everything else in the
> > library is built upon these capabilities
> >
> > function - Wrapping of (member) (function) pointers into Python
> > callable objects. Maybe this should be called "callable".
> >
> > callback - Invocation of Python callable objects from C++,
> > e.g. call_method<...>, call<...>
> >
> > api - various namespace-scope functions such as del(), getattr(),
> > etc.
> >
> > objects - object, str, dict, tuple, list, long_ ...
> >
> > classes - specific support for class wrapping, including
> > instance_holders, support for smart pointers, etc.
> >
>
> Looks great, but perhaps inheritance.hpp should be included in the
> classes namespace?
Well, it's an interesting issue. The stuff in inheritance.[ch]pp is
entirely independent of Python, so it should really be in a layer
that's language-independent. Maybe the core needs to be further
subdivided?
--
Dave Abrahams
Boost Consulting
www.boost-consulting.com
_______________________________________________
C++-sig mailing list
C++-sig@[...].org
http://mail.python.org/mailman/listinfo/c++-sig
Thread:
David Abrahams
David Abrahams
Brett Calcott
Brett Calcott
David Abrahams
Brett Calcott
Brett Calcott
Joel de Guzman
David Abrahams
David Abrahams
Dirk Gerrits
David Abrahams
David Abrahams
Brett Calcott
Joel de Guzman
Nicodemus
David Abrahams
Roman Sulzhyk
David Abrahams
Nicodemus
Roman Sulzhyk
Nicodemus
David Abrahams
Nicodemus
Roman Sulzhyk
Nicodemus
Roman Sulzhyk
Nicodemus
David Abrahams
Nicodemus
Roman Sulzhyk
Ralf W. Grosse-Kunstleve
Nicodemus
|