diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2024-04-30 15:16:33 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2024-04-30 15:16:33 +0200 |
commit | b3ec2267f7ec7a4f590856f8de82eaf7af3de5fb (patch) | |
tree | 679920e10ffc70c23b8a0b9b7e2311235fcb5c98 /libodb | |
parent | f9cda8a43f7ef65a75a84e0c2a11241916d25250 (diff) |
Use decay_traits in dynamic query support to handle array decay
Diffstat (limited to 'libodb')
-rw-r--r-- | libodb/odb/query-dynamic.hxx | 22 |
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); |