From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, HEADER_SPAM autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 1014db,745ecf6266b2fdbf X-Google-Attributes: gid1014db,public X-Google-Thread: 100850,745ecf6266b2fdbf X-Google-Attributes: gid100850,public X-Google-Thread: 103376,745ecf6266b2fdbf X-Google-Attributes: gid103376,public X-Google-Thread: 109fba,745ecf6266b2fdbf X-Google-Attributes: gid109fba,public X-Google-ArrivalTime: 2003-02-15 12:14:07 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeed.berkeley.edu!ucberkeley!priapus.visi.com!news-out.visi.com!hermes.visi.com!gemini.plethora.net.POSTED!not-for-mail X-Old-trace: posting.google.com 1045209069 25033 127.0.0.1 (14 Feb 2003 07:51:09 GMT) Subject: Re: [ANN] an EBNF parser and coding pattern tool (LGPL) Content-Transfer-encoding: 8bit X-Mailscanner: PASSED (v1.2.7 9120 h1E7p9Vi018064 mailbox3.ucsd.edu) References: From: codeworker@free.fr (Cedric LEMAIRE) Organization: http://groups.google.com/ Return-Path: Content-Type: text/plain; charset=ISO-8859-1 X-Old-complaints-to: groups-abuse@google.com Newsgroups: comp.lang.c.moderated,comp.lang.ada,comp.lang.c,comp.lang.c++ Message-ID: Originator: clcm@plethora.net (Comp Lang C'Moderated) Date: 15 Feb 2003 20:14:07 GMT NNTP-Posting-Host: b45dc8c4.news.plethora.net X-Trace: 1045340047 gemini.plethora.net 79558 clcm@205.166.146.1 X-Complaints-To: abuse@plethora.net Xref: archiver1.google.com comp.lang.c.moderated:7442 comp.lang.ada:34134 comp.lang.c:173469 comp.lang.c++:203430 Date: 2003-02-15T20:14:07+00:00 List-Id: Hyman Rosen wrote in message news:... > Cedric LEMAIRE wrote: > > The C++ compiler doesn't give you introspection to implement C++ > > templates that work on the composition of a class. > > Yes, this is true. To get this would require support from the > compiler, and I imagine would look something like this - the > result of introspect for some type T would be a class with > informative members, some of which would be like Alexandrescu's > type lists that would carry member and base class information > and could be processed recursively by other templates. We would > also want an equivalent dynamic interface, so that we could take > a polymorphic pointer or reference and deal with its introspection > at runtime. I did it too with 'CodeWorker' (but it isn't my intellectual property, i have to change it before publishing the pattern scripts): a dynamic introspector that handles 'MetaClass' composed of 'MetaAttribute's. 'MetaAttribute' is composed of 'MetaType'... and a lot of interesting information about reflectivity in fact. A little as in JAVA, but in C++. It allows writing very efficient dynamic GUI for example (with smart tool tips that explain the constraints held by the attribute you are populating - if you starts from an Object Design such as an extended UML). Interesting when you have a few hundred Business classes and a dialog window not too stupid to implement for each of them. It is very trivial to implement with 'CodeWorker'. -- C�dric -- comp.lang.c.moderated - moderation address: clcm@plethora.net