Joel de Guzman wrote: > Hmmm.... how about namespaces (or modules) ? :o)... > > #< BOOST_PP // boost PP namespace > // blah blah blah.... > #> > > #< MY_MODULE // my module namespace > #using BOOST_PP // using boost PP namespace > // blah blah blah.... > #>
Hi Joel, I'm already in the process of writing a paper with an alternative version of the above. Problem #1: the operator directives are evil. They are not visible, and with serve to make code that includes them hard to read. We need a named alternative at least. Problem #2: No true scoping is achieved: #< #define DETAIL 123 #define INTERFACE DETAIL #export INTERFACE #> INTERFACE // ? This is what I'm going to propose: # region // unnamed # import ABC # define XYZ # define INTERFACE 123 # export INTERFACE # endreg XYZ // XYZ INTERFACE // 123 # region BOOST # region DETAIL # define ABC 123 # endreg # define INTERFACE BOOST::DETAIL::ABC # define OTHER 123 # export OTHER # region A # define MACRO 123 # endref # region B # define MACRO 123 # endif # export A # endreg ABC // ABC DETAIL::ABC // DETAIL::ABC BOOST::INTERFACE // 123 OTHER // 123 A::MACRO // 123 B::MACRO // B::MACRO What do you think? Paul Mensonides _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost