From fc3fb39c90ab7fe5fccbe3f3bc0eb2645157bb96 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 13 Dec 2023 21:57:53 +0300 Subject: Switch to build2 --- libcommon/common.txx | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 libcommon/common.txx (limited to 'libcommon/common.txx') diff --git a/libcommon/common.txx b/libcommon/common.txx new file mode 100644 index 0000000..caa7481 --- /dev/null +++ b/libcommon/common.txx @@ -0,0 +1,24 @@ +// file : libcommon/common.txx +// license : GNU GPL v2; see accompanying LICENSE file + +// We have to use this helper function instead of just checking which +// database is used because the DATABASE_* macro may not be defined +// in a project that includes this header. +// +LIBCOMMON_SYMEXPORT bool +size_available (); + +template +std::size_t +size (odb::result r) +{ + if (size_available ()) + return r.size (); + else + { + std::size_t n (0); + for (typename odb::result::iterator i (r.begin ()); i != r.end (); ++i) + n++; + return n; + } +} -- cgit v1.1