Hi,

By the way of applying the buried headers [1] scheme,
I think it is a good opportunity to clean up content of the git
repository and to shuffle things into more friendly layout.
This should target 'develop' branch, so SOCI 4.0.0.

Here are some of the revolutions [2] dangling in my head
that I would like to propose and discuss:

1) I'm going to remove /soci/build as deprecated legacy
and move /soci/www out to SOCI/soci.github.com reposiory.

2) Move content of /soci/src one level up

3) Add /soci/soci folder for all public headers
Installation by copying: cp -a soci/soci /usr/include
will effectively deploy headers buried in /usr/include/soci

4) Add /soci/tests directory

5) Move all current tests into common /soci/tests/old
or /soci/tests/v3 to indicate they target SOCI<=3.
Certainly, all CMake configuration to be updated to allow
building and running those v3 tests.

6) All new tests can live directly in /soci/tests

Do we all agree those changes make sense?


Perhaps, we should rename headers a bit:
1) Switch C++ headers to use .hpp extension (keep .h for simple C API)
2) Replace '-' with '_'. Underscore seems de facto a file naming
standard in C++.
How does it sound?


Also, I've been wondering if it would make sense to introduce backend-specific
namespaces. Then, class soci::postgresql_vector_into_type_backend would
become soci::postgresql::vector_into_type_backend.
I sense, this would make sense if we aim to introduce some generic
and backend-specific exception hierarchies, etc.
Also, soci-postgresql.h could become <soci/backends/postgresql.h>
reaching into <soci/backends/postgresql/...>

What you say on that?


[1] https://github.com/SOCI/soci/issues/25
[2] http://mateusz.loskot.net/posts/2013/03/26/soci-3-2-0-released/index.html

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
soci-devel mailing list
soci-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/soci-devel

Reply via email to