> 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

Reply via email to