On Tue, Aug 16, 2016 at 1:29 PM, Peter Geoghegan <p...@heroku.com> wrote: > IMV, it would be useful to use C++ classes (and even template classes) > for a small number of data structures, while still largely adhering to > earlier practices (this is what GCC did). Specifically, a few modules > such as StringInfo, could be made to follow the RAII/scope bound > resource management usefully, which doesn't seem incompatible with > memory contexts. However, this doesn't seem terribly exciting to me.
Actually, come to think of it, I guess this is wrong. The problem with what I say here is that longjmp() and setjmp() are incompatible with the stack unwinding used by C++ destructors in general (exceptions are another issue). I think that the practical implication of that is that we can never use any C++ feature that hides the complexity of resource management, unless and until elog() is reimplemented to not use longjmp() and setjmp(). -- Peter Geoghegan -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers