// file : libcommon/common.hxx // license : GNU GPL v2; see accompanying LICENSE file #ifndef LIBCOMMON_COMMON_HXX #define LIBCOMMON_COMMON_HXX #include // std::unique_ptr #include // std::size_t #include #include #include LIBCOMMON_SYMEXPORT std::unique_ptr create_database (int argc, char* argv[], bool create_schema = true, std::size_t max_connections = 0, odb::database_id db = odb::id_common); template std::unique_ptr create_specific_database (int argc, char* argv[], bool create_schema = true, std::size_t max_connections = 0) { std::unique_ptr r ( create_database (argc, argv, create_schema, max_connections, T::database_id)); return std::unique_ptr (&dynamic_cast (*r.release ())); } // This function returns an accurate result only if the result iterator // hasn't been advanced and after the call the result is no longer valid. // template std::size_t size (odb::result); #include #endif // LIBCOMMON_COMMON_HXX