On Wed, May 22, 2013 at 9:18 PM, Carlos Nepomuceno < carlosnepomuceno at outlook.com> wrote: > ________________________________ > > From: eliben at gmail.com > [...] > > I've found the following declaration in 'Objects/stringobject.c' but it > > just defines _Py_InsertThousandsGrouping() as > > _PyString_InsertThousandsGrouping(): > > > > "#define _Py_InsertThousandsGrouping _PyString_InsertThousandsGrouping" > > > > I'm looking for the opposite! > > > > No, you aren't :-) > > > > #define _Py_InsertThousandsGrouping _PyString_InsertThousandsGrouping > > #include "stringlib/localeutil.h" > > > > Now look inside "stringlib/localeutil.h" and think what the > > pre-processor does with the function definition having the #define > > above. > > > > Eli > > lol I can see clearly now! :p > > That reminds me of "Which came first, the chicken or the egg?" > > Thank you! Somehow I got intrigued by such use... > > Do you know why they've put a lot of source code inside the header files? > _______________________________________________ > > This depends per use-case. Commonly, code is placed in header files in C to achieve some sort of C++-template-like behavior with the preprocessor. In particular, I think Objects/stringlib/formatter.h does this. Note this comment near its top: /* Before including this, you must include either: stringlib/unicodedefs.h stringlib/stringdefs.h Also, you should define the names: FORMAT_STRING FORMAT_LONG FORMAT_FLOAT FORMAT_COMPLEX to be whatever you want the public names of these functions to be. These are the only non-static functions defined here. */ Eli -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20130522/d8e4d02f/attachment.html>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4