> Try to write a fully standard compliant standard library without using any of > the reserved namespace!!!
This is the key point that has been missed so far. The C/C++ standards do not provide a mechanism by which the supplier of a library can reserve or sequester some range of identifiers, for both historic and possible future use, and at the same time be guaranteed to conflict with neither the provider of an implementation nor the user of the library. Therefore a choice has to be made. Intruding on the implementation space in violation of the standard is not the best solution to the problem. The safest solution (and one widely adopted) is to choose a prefix of sufficient length and starting with a letter. It should be one that is highly likely to be unique to the enterprise and then be applied to all visible identifiers. The ownership of that prefix could be backed up by ownership of a matching domain, trademark, registered company name, etc. [The Java domain thing is just plain silly, and widely breached.] In fact Sqlite has done an excellent job of exactly that, with one exception: they chose to add an unnecessary underscore before the guard prefix and thereby became non-compliant. It should simply be removed (or have been removed -- perhaps it's now too late). > By the standard, a header defined by the standard is only allow to define the > symbols it is EXPLICITLY defined to, and the symbols in the appropriate > reserved namespaces. ANY other symbol is allowed to be used/defined by the > user. > > Your suggest has a couple of problems. First, it handles the include guard, > but not a bunch of other things that need symbols. The second, what is to be > used by a programmer who doesn't own a domain? Owning a domain is not a > requirement for writing software. Tell that to the Java guys. Regards David M Bennett FACS Andl - A New Database Language - andl.org _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users