summaryrefslogtreecommitdiff
path: root/libodb
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2024-04-30 15:16:33 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2024-04-30 15:16:33 +0200
commitb3ec2267f7ec7a4f590856f8de82eaf7af3de5fb (patch)
tree679920e10ffc70c23b8a0b9b7e2311235fcb5c98 /libodb
parentf9cda8a43f7ef65a75a84e0c2a11241916d25250 (diff)
Use decay_traits in dynamic query support to handle array decay
Diffstat (limited to 'libodb')
-rw-r--r--libodb/odb/query-dynamic.hxx22
1 files changed, 12 insertions, 10 deletions
diff --git a/libodb/odb/query-dynamic.hxx b/libodb/odb/query-dynamic.hxx
index cd0ce05..8c4edae 100644
--- a/libodb/odb/query-dynamic.hxx
+++ b/libodb/odb/query-dynamic.hxx
@@ -361,10 +361,6 @@ namespace odb
void* param_factory;
};
- template <typename T>
- const T&
- type_instance ();
-
// This class template has to remain POD since we rely on it being
// 0-initialized before any dynamic initialization takes place in
// any other translation unit.
@@ -892,7 +888,8 @@ namespace odb
{
// We can compare columns only if we can compare their C++ types.
//
- (void) (sizeof (type_instance<T> () == type_instance<T2> ()));
+ (void) (sizeof (decay_traits<T>::instance () ==
+ decay_traits<T2>::instance ()));
query_base q (native_info);
q.append (c.native_info);
@@ -906,7 +903,8 @@ namespace odb
{
// We can compare columns only if we can compare their C++ types.
//
- (void) (sizeof (type_instance<T> () != type_instance<T2> ()));
+ (void) (sizeof (decay_traits<T>::instance () !=
+ decay_traits<T2>::instance ()));
query_base q (native_info);
q.append (c.native_info);
@@ -920,7 +918,8 @@ namespace odb
{
// We can compare columns only if we can compare their C++ types.
//
- (void) (sizeof (type_instance<T> () < type_instance<T2> ()));
+ (void) (sizeof (decay_traits<T>::instance () <
+ decay_traits<T2>::instance ()));
query_base q (native_info);
q.append (c.native_info);
@@ -934,7 +933,8 @@ namespace odb
{
// We can compare columns only if we can compare their C++ types.
//
- (void) (sizeof (type_instance<T> () > type_instance<T2> ()));
+ (void) (sizeof (decay_traits<T>::instance () >
+ decay_traits<T2>::instance ()));
query_base q (native_info);
q.append (c.native_info);
@@ -948,7 +948,8 @@ namespace odb
{
// We can compare columns only if we can compare their C++ types.
//
- (void) (sizeof (type_instance<T> () <= type_instance<T2> ()));
+ (void) (sizeof (decay_traits<T>::instance () <=
+ decay_traits<T2>::instance ()));
query_base q (native_info);
q.append (c.native_info);
@@ -962,7 +963,8 @@ namespace odb
{
// We can compare columns only if we can compare their C++ types.
//
- (void) (sizeof (type_instance<T> () >= type_instance<T2> ()));
+ (void) (sizeof (decay_traits<T>::instance () >=
+ decay_traits<T2>::instance ()));
query_base q (native_info);
q.append (c.native_info);