aboutsummaryrefslogtreecommitdiff
path: root/odb/mysql/result.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/mysql/result.hxx')
-rw-r--r--odb/mysql/result.hxx64
1 files changed, 10 insertions, 54 deletions
diff --git a/odb/mysql/result.hxx b/odb/mysql/result.hxx
index ebc3e02..33df541 100644
--- a/odb/mysql/result.hxx
+++ b/odb/mysql/result.hxx
@@ -8,72 +8,28 @@
#include <odb/pre.hxx>
-#include <cstddef> // std::size_t
-
+#include <odb/traits.hxx>
#include <odb/result.hxx>
#include <odb/mysql/version.hxx>
#include <odb/mysql/forward.hxx>
-#include <odb/mysql/statement.hxx>
-
-#include <odb/details/shared-ptr.hxx>
namespace odb
{
namespace mysql
{
- class query;
-
- template <typename T>
- class result_impl: public odb::result_impl<T>
- {
- public:
- typedef typename odb::result_impl<T>::pointer_type pointer_type;
- typedef typename odb::result_impl<T>::pointer_traits pointer_traits;
-
- typedef typename odb::result_impl<T>::object_type object_type;
- typedef typename odb::result_impl<T>::id_type id_type;
- typedef typename odb::result_impl<T>::object_traits object_traits;
-
-
- virtual
- ~result_impl ();
-
- result_impl (const query&,
- details::shared_ptr<select_statement> statement,
- object_statements<object_type>& statements);
-
- virtual void
- load (object_type&);
-
- virtual id_type
- load_id ();
-
- virtual void
- next ();
-
- virtual void
- cache ();
-
- virtual std::size_t
- size ();
-
- using odb::result_impl<T>::current;
-
- private:
- void
- fetch ();
-
- private:
- details::shared_ptr<select_statement> statement_;
- object_statements<object_type>& statements_;
- std::size_t count_;
- };
+ template <typename T, class_kind kind>
+ class result_impl;
}
}
-#include <odb/mysql/result.txx>
-
#include <odb/post.hxx>
#endif // ODB_MYSQL_RESULT_HXX
+
+// Include result specializations so that the user code only needs
+// to include this header.
+//
+
+#include <odb/mysql/object-result.hxx>
+#include <odb/mysql/view-result.hxx>