On Mon, 10 Apr 2017, Olivier Mascia wrote:

This is where I do:

#include "memory.h"
namespace sqlite
{
#include "sqlite3.h"
}

And the conflict with your Mem goes away for the price of qualifying your references to SQLite symbols with 'sqlite::'. It fits me easily because we have our own slim C++ wrapper around SQLite C API, so these prefixed references are only slightly annoying (length of text) in the wrapper code. It might of course not fit you and having sqlite3.h not exposing that Mem in the public namespace is certainly the long term better solution for everyone.

A way to get rid of the annoying 'sqlite::' prefix for plain C functions is to import the functions actually planned to be used into global scope or into the namespace of the using code:

namespace MyNamespace
{
  using sqlite:sqlite3_exec;
}

Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to