From PStath at jmawireless.com Thu Apr 5 16:55:01 2018 From: PStath at jmawireless.com (Paul Stath) Date: Thu Apr 5 16:59:29 2018 Subject: [odb-users] Alternate mapping of bool Message-ID: Hi Boris, Is there a way to provide a custom mapping for bool and have it only override certain columns in the object? I need to have a bool column where a True value is (NOT NULL), and a False value is NULL. This column will be used in a unique index where multiple rows can have the same index values, but only one row can be active (True). I would like other bool columns in the object to have the default ODB mapping when False = 0 and True = 1. Is there a simpler way than creating a "wrapper" object, something similar to: struct NullBool { bool value; } and then provide: template<> class value_trait { ... } Please steer me in the right direction. --- Paul From boris at codesynthesis.com Mon Apr 9 02:14:53 2018 From: boris at codesynthesis.com (Boris Kolpackov) Date: Mon Apr 9 02:19:24 2018 Subject: [odb-users] Alternate mapping of bool In-Reply-To: References: Message-ID: Paul Stath writes: > Is there a simpler way than creating a "wrapper" object, something > similar to: > > struct NullBool { > bool value; > } > > and then provide: > > template<> > class value_trait > { > ... > } As the value_trait<> template suggests, you either need a different C++ type (first template parameter) or a database type (second template parameter) to make it differ from the default . The simplest way to achieve what you want is probably to map such special null-bool's to a different database type, say TEXT (you can still store them as "0" and "1" or NULL and "1"). Then, to "activate" this semantics for certain members you simply specify the TEXT type explicitly: class object { #pragma db type("TEXT") null bool b; }; Boris From fabianfuture at web.de Wed Apr 18 15:16:46 2018 From: fabianfuture at web.de (Fabian Fritz) Date: Wed Apr 18 15:21:56 2018 Subject: [odb-users] Using query members while also renaming class members Message-ID: Hi, I have created a class MyClass from an existing table and used #pragma db member("MYCOLUMN") above a member mycolumn, so I don't have to use the uppercase name all the time. Now if I use query::mycolumn, I get errors, because the query puts "mycolumn" instead of MYCOLUMN in the sql. So my question is: can you use member("MYCOLUMN") to rename class members (i.e. map them to the actual column names) while still using the query interface? Thanks, Fabian From javier.gutierrez at web.de Thu Apr 19 02:17:48 2018 From: javier.gutierrez at web.de (Javier Gutierrez) Date: Thu Apr 19 02:23:01 2018 Subject: [odb-users] Using query members while also renaming class members In-Reply-To: References: Message-ID: <8330f422-289e-59fd-3b72-facf89446933@web.de> Hello there, try column("MYCOLUMN") -------- Original Message -------- Subject: [odb-users] Using query members while also renaming class members From: Fabian Fritz To: odb-users@codesynthesis.com Date: 4/18/2018 9:16 PM > Hi, > > I have created a class MyClass from an existing table and used #pragma > db member("MYCOLUMN") above a member mycolumn, so I don't have to use > the uppercase name all the time. Now if I use > query::mycolumn, I get errors, because the query puts > "mycolumn" instead of MYCOLUMN in the sql. > > So my question is: can you use member("MYCOLUMN") to rename class > members (i.e. map them to the actual column names) while still using > the query interface? > > Thanks, > Fabian > From janis.taranda at gmail.com Fri Apr 20 10:29:48 2018 From: janis.taranda at gmail.com (Janis Taranda) Date: Fri Apr 20 10:35:00 2018 Subject: [odb-users] Can't run ODB on Ubuntu 17.10 Message-ID: ``` odb -I /usr/include/x86_64-linux-gnu/qt5 -x -fPIE -d sqlite -p qt --trace --generate-query models/storeoauth2client.hstarting plugin odb In file included from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/type_traits:35:0, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:45, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:48, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QString:1, from /usr/local/include/odb/qt/basic/sqlite/default-mapping.hxx:8, from :1: /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. #error This file requires compiler and library support for the \ ``` And when I add --std c++11 flag it's millions of errors, staring: ``` odb --std c++11 -I /usr/include/x86_64-linux-gnu/qt5 -x -fPIE -d sqlite -p qt --trace --generate-query models/storeoauth2client.hstarting plugin odb In file included from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/cwchar:44:0, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/bits/postypes.h:40, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/bits/char_traits.h:40, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/string:40, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/random:40, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/bits/stl_algo.h:66, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/algorithm:62, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:109, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:48, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QString:1, from /usr/local/include/odb/qt/basic/sqlite/default-mapping.hxx:8, from :1: /usr/lib/odb/i686-linux-gnu/lib/gcc/i686-linux-gnu/4.9.3/include-fixed/wchar.h:93:3: error: conflicting declaration ?typedef struct __mbstate_t __mbstate_t? } __mbstate_t; ^ In file included from /usr/include/_G_config.h:17:0, from /usr/include/libio.h:31, from /usr/include/stdio.h:41, from /usr/lib/odb/i686-linux-gnu/lib/gcc/i686-linux-gnu/4.9.3/include-fixed/wchar.h:46, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/cwchar:44, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/bits/postypes.h:40, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/bits/char_traits.h:40, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/string:40, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/random:40, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/bits/stl_algo.h:66, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/algorithm:62, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:109, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:48, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QString:1, from /usr/local/include/odb/qt/basic/sqlite/default-mapping.hxx:8, from :1: /usr/include/bits/types/__mbstate_t.h:21:3: note: previous declaration as ?typedef struct __mbstate_t __mbstate_t? } __mbstate_t; ^ In file included from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/cwchar:44:0, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/bits/postypes.h:40, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/bits/char_traits.h:40, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/string:40, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/random:40, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/bits/stl_algo.h:66, from /usr/lib/odb/i686-linux-gnu/include/c++/4.9.3/algorithm:62, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:109, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:48, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QString:1, from /usr/local/include/odb/qt/basic/sqlite/default-mapping.hxx:8, from :1: /usr/lib/odb/i686-linux-gnu/lib/gcc/i686-linux-gnu/4.9.3/include-fixed/wchar.h:102:1: error: ?__BEGIN_NAMESPACE_C99? does not name a type __BEGIN_NAMESPACE_C99 ^ /usr/lib/odb/i686-linux-gnu/lib/gcc/i686-linux-gnu/4.9.3/include-fixed/wchar.h:105:1: error: ?__END_NAMESPACE_C99? does not name a type __END_NAMESPACE_C99 ^ ``` Maybe you see the problem right away? From janis.taranda at gmail.com Sat Apr 21 04:34:41 2018 From: janis.taranda at gmail.com (Janis Taranda) Date: Sat Apr 21 04:39:58 2018 Subject: [odb-users] Can't compile simple object- gcc errors Message-ID: ----------------------------------------------------------------------------- COMPILE ERROR ----------------------------------------------------------------------------- odb --std c++14 -D GLIBCXX_HAVE_MBSTATE_T -I /usr/include/x86_64-linux-gnu/qt5 -x -fPIE -d sqlite -p qt --trace --generate-query models/storeoauth2client.h https://pastebin.com/Y7fex6QN << very long ----------------------------------------------------------------------------- MACHINE INFORMATION ----------------------------------------------------------------------------- Ubuntu 17.10 trsh@trsh-comp:~/manu/backEnd/src$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.2.0-8ubuntu3.2' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 7.2.0 (Ubuntu 7.2.0-8ubuntu3.2) trsh@trsh-comp:~/manu/backEnd/src$ uname -rm 4.13.0-38-generic x86_64 trsh@trsh-comp:~/manu/backEnd/src$ file /sbin/init /lib/systemd/systemd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=88515d78d4ffa03d5885f8f4329cadf733242c19, stripped trsh@trsh-comp:~/manu/backEnd/src$ From fabianfuture at web.de Sat Apr 21 04:42:53 2018 From: fabianfuture at web.de (Fabian Fritz) Date: Sat Apr 21 04:48:11 2018 Subject: [odb-users] Using query members while also renaming class members In-Reply-To: <8330f422-289e-59fd-3b72-facf89446933@web.de> References: <8330f422-289e-59fd-3b72-facf89446933@web.de> Message-ID: That's the thing though: If I put this above my class attributes #pragma db member("MYCOLUMN") int mycolumn The SELECT I get looks alright: SELECT "MYCOLUMN" FROM MYTABLE //... However when I use the query::mycolumn, I get WHERE "mycolumn" = 123 //... and that's where the database complains, because it doesn't know the column in lowercase. So is it possible to map my class attributes to different column names while still being able to use the query:: interface? Thanks, Fabian Javier Gutierrez schrieb am Do., 19. Apr. 2018, 08:18: > Hello there, try column("MYCOLUMN") > > > -------- Original Message -------- > Subject: [odb-users] Using query members while also renaming class members > From: Fabian Fritz > To: odb-users@codesynthesis.com > Date: 4/18/2018 9:16 PM > > Hi, > > > > I have created a class MyClass from an existing table and used #pragma > > db member("MYCOLUMN") above a member mycolumn, so I don't have to use > > the uppercase name all the time. Now if I use > > query::mycolumn, I get errors, because the query puts > > "mycolumn" instead of MYCOLUMN in the sql. > > > > So my question is: can you use member("MYCOLUMN") to rename class > > members (i.e. map them to the actual column names) while still using > > the query interface? > > > > Thanks, > > Fabian > > > > From fabianfuture at web.de Sat Apr 21 05:25:01 2018 From: fabianfuture at web.de (Fabian Fritz) Date: Sat Apr 21 05:30:18 2018 Subject: [odb-users] Using query members while also renaming class members In-Reply-To: <1n6smfd54e7l87a7o6q1omsb.1524301060227@email.android.com> References: <8330f422-289e-59fd-3b72-facf89446933@web.de> <1n6smfd54e7l87a7o6q1omsb.1524301060227@email.android.com> Message-ID: Ah, I see. That should do the trick - thanks! 2018-04-21 10:57 GMT+02:00 Javier Gutierrez : > Itry with > #pragma db column("MYCOLUMN") > Instead of > #pragma db member("MYCOLUMN") > > ---- Fabian Fritz wrote ---- > > > That's the thing though: > > If I put this above my class attributes > #pragma db member("MYCOLUMN") > int mycolumn > > The SELECT I get looks alright: SELECT "MYCOLUMN" FROM MYTABLE //... > > However when I use the query::mycolumn, I get WHERE "mycolumn" = > 123 //... > and that's where the database complains, because it doesn't know the column > in lowercase. > > So is it possible to map my class attributes to different column names while > still being able to use the query:: interface? > > > Thanks, > Fabian > > Javier Gutierrez schrieb am Do., 19. Apr. 2018, > 08:18: >> >> Hello there, try column("MYCOLUMN") >> >> >> -------- Original Message -------- >> Subject: [odb-users] Using query members while also renaming class members >> From: Fabian Fritz >> To: odb-users@codesynthesis.com >> Date: 4/18/2018 9:16 PM >> > Hi, >> > >> > I have created a class MyClass from an existing table and used #pragma >> > db member("MYCOLUMN") above a member mycolumn, so I don't have to use >> > the uppercase name all the time. Now if I use >> > query::mycolumn, I get errors, because the query puts >> > "mycolumn" instead of MYCOLUMN in the sql. >> > >> > So my question is: can you use member("MYCOLUMN") to rename class >> > members (i.e. map them to the actual column names) while still using >> > the query interface? >> > >> > Thanks, >> > Fabian >> > >> > From boris at codesynthesis.com Sat Apr 21 09:31:54 2018 From: boris at codesynthesis.com (Boris Kolpackov) Date: Sat Apr 21 09:37:04 2018 Subject: [odb-users] Can't compile simple object- gcc errors In-Reply-To: References: Message-ID: Try to build the latest pre-release[1] of the ODB compiler from source so that it uses the system GCC. See the INSTALL file inside for details on how to do it. [1] https://codesynthesis.com/~boris/tmp/odb/pre-release/b.3/ From fabian.fritz90 at gmail.com Sat Apr 21 05:24:45 2018 From: fabian.fritz90 at gmail.com (Fabian Fritz) Date: Sat Apr 21 09:39:39 2018 Subject: [odb-users] Linker errors with self-compiled libodb-oracle + official Ubuntu (17.10) packages Message-ID: Hi, I compiled libodb-oracle and it works on CentOS 7, however on Ubuntu I get these linker errors: https://pastebin.com/neSQnsW3. I use the official libodb-2.4 (2.4.0-1build1), libodb-dev(2.4.0-1build1) packages. Should I use a specific gcc version to compile libodb-oracle or how can I fix this? Thanks, Fabian From boris at codesynthesis.com Sat Apr 21 09:39:23 2018 From: boris at codesynthesis.com (Boris Kolpackov) Date: Sat Apr 21 09:44:31 2018 Subject: [odb-users] Linker errors with self-compiled libodb-oracle + official Ubuntu (17.10) packages In-Reply-To: References: Message-ID: Fabian Fritz writes: > g++ -lodb-2.4 -lodb-oracle -o odbtest.run obj/test.o > obj/test.o: In function `main': > test.cpp:(.text+0x509): undefined reference to `odb::transaction::~transaction()' > test.cpp:(.text+0x6cb): undefined reference to `odb::oracle::database::print_usage(std::ostream&)' Have you built libodb-oracle as a static library? If so, then you need to link the libraries after the object files: g++ -o odbtest.run obj/test.o -lodb-2.4 -lodb-oracle If that doesn't help, try to rebuild everything (libodb, libodb-oracle, and your project) from source with the same g++ -- there has been a breaking ABI change in GCC which renders libraries built with different versions incompatible. Boris From janis.taranda at gmail.com Sat Apr 21 11:26:02 2018 From: janis.taranda at gmail.com (Janis Taranda) Date: Sat Apr 21 11:31:17 2018 Subject: [odb-users] Can't compile simple object- gcc errors In-Reply-To: References: Message-ID: Now I have problem compiling libodb-qt: checking for pkg-config... /usr/bin/pkg-config checking for QtCore... no configure: error: QtCore is not found; consider using CPPFLAGS/LDFLAGS to specify its location ./configure CPPFLAGS=-I/usr/include/x86_64-linux-gnu/qt5/QtCore Janis On Sat, Apr 21, 2018 at 4:31 PM, Boris Kolpackov wrote: > Try to build the latest pre-release[1] of the ODB compiler from source > so that it uses the system GCC. See the INSTALL file inside for details > on how to do it. > > [1] https://codesynthesis.com/~boris/tmp/odb/pre-release/b.3/ > > From fabianfuture at web.de Sat Apr 21 12:34:17 2018 From: fabianfuture at web.de (Fabian Fritz) Date: Sat Apr 21 12:39:37 2018 Subject: [odb-users] Using query members while also renaming class members In-Reply-To: References: <8330f422-289e-59fd-3b72-facf89446933@web.de> <1n6smfd54e7l87a7o6q1omsb.1524301060227@email.android.com> Message-ID: Unfortunately it didn't work: // The class: #pragma db object table("XPROCEDURE") class XProcedure { private: XVorgang() {} friend class odb::access; #pragma db id auto column("NR") int nr; #pragma db column("FILENAME") std::string filename; } // The query: result res(db->query(query::nr > 5000000)); //The resulting SQL: SELECT "XPROCEDURE"."NR", "XPROCEDURE"."FILENAME" FROM "XPROCEDURE" WHERE "XPROCEDURE"."nr" > :1 And at that point my Oracle database complains because it doesn't know any column nr (lower case). 2018-04-21 11:25 GMT+02:00 Fabian Fritz : > Ah, I see. That should do the trick - thanks! > > 2018-04-21 10:57 GMT+02:00 Javier Gutierrez : >> Itry with >> #pragma db column("MYCOLUMN") >> Instead of >> #pragma db member("MYCOLUMN") >> >> ---- Fabian Fritz wrote ---- >> >> >> That's the thing though: >> >> If I put this above my class attributes >> #pragma db member("MYCOLUMN") >> int mycolumn >> >> The SELECT I get looks alright: SELECT "MYCOLUMN" FROM MYTABLE //... >> >> However when I use the query::mycolumn, I get WHERE "mycolumn" = >> 123 //... >> and that's where the database complains, because it doesn't know the column >> in lowercase. >> >> So is it possible to map my class attributes to different column names while >> still being able to use the query:: interface? >> >> >> Thanks, >> Fabian >> >> Javier Gutierrez schrieb am Do., 19. Apr. 2018, >> 08:18: >>> >>> Hello there, try column("MYCOLUMN") >>> >>> >>> -------- Original Message -------- >>> Subject: [odb-users] Using query members while also renaming class members >>> From: Fabian Fritz >>> To: odb-users@codesynthesis.com >>> Date: 4/18/2018 9:16 PM >>> > Hi, >>> > >>> > I have created a class MyClass from an existing table and used #pragma >>> > db member("MYCOLUMN") above a member mycolumn, so I don't have to use >>> > the uppercase name all the time. Now if I use >>> > query::mycolumn, I get errors, because the query puts >>> > "mycolumn" instead of MYCOLUMN in the sql. >>> > >>> > So my question is: can you use member("MYCOLUMN") to rename class >>> > members (i.e. map them to the actual column names) while still using >>> > the query interface? >>> > >>> > Thanks, >>> > Fabian >>> > >>> >> From fabian.fritz90 at gmail.com Sat Apr 21 12:36:17 2018 From: fabian.fritz90 at gmail.com (Fabian Fritz) Date: Mon Apr 23 10:50:26 2018 Subject: [odb-users] Linker errors with self-compiled libodb-oracle + official Ubuntu (17.10) packages In-Reply-To: References: Message-ID: You're right, I only had the order of the libraries wrong. Thanks. 2018-04-21 15:39 GMT+02:00 Boris Kolpackov : > Fabian Fritz writes: > >> g++ -lodb-2.4 -lodb-oracle -o odbtest.run obj/test.o >> obj/test.o: In function `main': >> test.cpp:(.text+0x509): undefined reference to `odb::transaction::~transaction()' >> test.cpp:(.text+0x6cb): undefined reference to `odb::oracle::database::print_usage(std::ostream&)' > > Have you built libodb-oracle as a static library? If so, then you need > to link the libraries after the object files: > > g++ -o odbtest.run obj/test.o -lodb-2.4 -lodb-oracle > > If that doesn't help, try to rebuild everything (libodb, libodb-oracle, > and your project) from source with the same g++ -- there has been a > breaking ABI change in GCC which renders libraries built with different > versions incompatible. > > Boris From janis.taranda at gmail.com Sat Apr 21 14:45:11 2018 From: janis.taranda at gmail.com (Janis Taranda) Date: Mon Apr 23 10:50:26 2018 Subject: [odb-users] Can't compile simple object- gcc errors In-Reply-To: References: Message-ID: Get rid of previous problems. Now starting plugin odb namespace QtSharedPointer at /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:108 namespace QtMetaTypePrivate at /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:753 namespace Cutelyst at ../plugins/oauth2/models/oauth2client.h:10 namespace odb at /usr/local/include/odb/details/shared-ptr/counter-type.hxx:10 namespace core at /usr/local/include/odb/forward.hxx:23 namespace common at /usr/local/include/odb/forward.hxx:21 namespace details at /usr/local/include/odb/details/shared-ptr/counter-type.hxx:12 namespace meta at /usr/local/include/odb/details/meta/remove-const.hxx:14 namespace QAlgorithmsPrivate at /usr/include/x86_64-linux-gnu/qt5/QtCore/qalgorithms.h:57 namespace Qt at /usr/include/x86_64-linux-gnu/qt5/QtCore/qnamespace.h:68 namespace QtGlobalStatic at /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobalstatic.h:49 namespace QtPrivate at /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:384 namespace SwapExceptionTester at /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:852 namespace __gnu_debug at /usr/include/c++/7/debug/debug.h:56 namespace __gnu_cxx at /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:255 namespace __ops at /usr/include/c++/7/bits/predefined_ops.h:35 namespace __cxx11 at /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:257 namespace std at :0 namespace chrono at /usr/include/c++/7/chrono:59 namespace _V2 at /usr/include/c++/7/chrono:805 namespace __select_int at /usr/include/c++/7/bits/parse_numbers.h:255 namespace __parse_int at /usr/include/c++/7/bits/parse_numbers.h:45 namespace placeholders at /usr/include/c++/7/functional:268 namespace literals at /usr/include/c++/7/bits/basic_string.h:6654 namespace chrono_literals at /usr/include/c++/7/chrono:885 namespace string_literals at /usr/include/c++/7/bits/basic_string.h:6656 namespace __detail at /usr/include/c++/7/bits/uniform_int_dist.h:40 namespace __exception_ptr at /usr/include/c++/7/bits/exception_ptr.h:52 namespace _V2 at /usr/include/c++/7/bits/algorithmfwd.h:546 namespace __debug at /usr/include/c++/7/debug/debug.h:50 namespace rel_ops at /usr/include/c++/7/bits/stl_relops.h:69 namespace __swappable_with_details at /usr/include/c++/7/type_traits:2668 namespace __swappable_details at /usr/include/c++/7/type_traits:2590 namespace __cxx11 at /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:253 opening namespace std for /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:231 integer_type 0x7fe75889fa80 main 0x7fe75c5377e0 variant 0x7fe75c5377e0 0 variant 0x7fe7529497e0 0 variant 0x7fe75291bb28 1 variant 0x7fe752ed6bd0 0 variant 0x7fe7533873f0 1 variant 0x7fe7535241f8 0 variant 0x7fe753513f18 0 variant 0x7fe753513b28 0 variant 0x7fe753507888 0 variant 0x7fe753507498 0 variant 0x7fe7534fa738 1 variant 0x7fe7534fa498 0 variant 0x7fe7534fa2a0 0 variant 0x7fe7534f4540 0 variant 0x7fe7534f4150 0 variant 0x7fe7534e5d20 0 variant 0x7fe7534db2a0 0 variant 0x7fe7538ac498 0 variant 0x7fe7540b3498 0 variant 0x7fe75406f0a8 0 variant 0x7fe75405e738 0 variant 0x7fe754259540 0 variant 0x7fe7542593f0 0 variant 0x7fe754259150 0 variant 0x7fe754259000 0 variant 0x7fe754255dc8 0 variant 0x7fe7541c77e0 0 variant 0x7fe7541c40a8 0 variant 0x7fe7541bf540 0 variant 0x7fe7541bf0a8 0 variant 0x7fe7541b1a80 0 variant 0x7fe7541b19d8 0 variant 0x7fe7541b1930 0 variant 0x7fe7541afe70 0 variant 0x7fe7541a7690 0 variant 0x7fe7541a75e8 0 variant 0x7fe7541a7540 0 variant 0x7fe7545790a8 0 variant 0x7fe7544b59d8 1 variant 0x7fe754482930 0 variant 0x7fe7544293f0 0 variant 0x7fe7543dd930 0 variant 0x7fe754766540 1 variant 0x7fe75473ae70 0 variant 0x7fe75470bf18 0 variant 0x7fe7546a1e70 1 variant 0x7fe75469b7e0 0 variant 0x7fe7546852a0 1 variant 0x7fe75463d540 0 variant 0x7fe754ad5e70 0 variant 0x7fe754ac55e8 1 variant 0x7fe754d3edc8 0 variant 0x7fe754dded20 0 variant 0x7fe75548ddc8 1 variant 0x7fe75542cc78 0 variant 0x7fe75580e690 0 variant 0x7fe755aa5930 0 variant 0x7fe755eaf738 0 variant 0x7fe755e7f5e8 0 variant 0x7fe755e7f498 0 variant 0x7fe755db6930 0 variant 0x7fe755d3a5e8 0 variant 0x7fe755ff47e0 0 variant 0x7fe756286f18 0 variant 0x7fe75627e498 0 variant 0x7fe75620f9d8 0 variant 0x7fe7562062a0 0 variant 0x7fe756200e70 1 variant 0x7fe756200540 0 variant 0x7fe7561f62a0 0 variant 0x7fe7561ee348 0 variant 0x7fe7561ec000 0 variant 0x7fe75617ec78 0 variant 0x7fe756175540 0 variant 0x7fe756175150 1 variant 0x7fe75616f7e0 0 variant 0x7fe756164540 0 variant 0x7fe75615b5e8 0 variant 0x7fe7561582a0 0 variant 0x7fe7561553f0 0 variant 0x7fe756151690 0 variant 0x7fe75614b540 0 variant 0x7fe75614a738 0 variant 0x7fe756145b28 0 variant 0x7fe75613ac78 0 variant 0x7fe75613a150 0 variant 0x7fe7561375e8 0 variant 0x7fe756134bd0 0 variant 0x7fe756134b28 0 variant 0x7fe756134000 0 variant 0x7fe756133498 0 variant 0x7fe75612f930 0 variant 0x7fe75612ddc8 0 variant 0x7fe75612d2a0 0 variant 0x7fe756129738 0 variant 0x7fe756127bd0 0 variant 0x7fe7561270a8 0 variant 0x7fe756122540 0 variant 0x7fe75611f9d8 0 variant 0x7fe75611be70 0 variant 0x7fe75611b348 0 variant 0x7fe7561187e0 0 variant 0x7fe756504738 0 variant 0x7fe75648e348 1 variant 0x7fe7564879d8 0 variant 0x7fe75647e738 0 variant 0x7fe756474b28 0 variant 0x7fe756455150 0 variant 0x7fe7563dbdc8 1 variant 0x7fe7563db498 0 variant 0x7fe7563d2150 0 variant 0x7fe7563c5348 0 variant 0x7fe7566945e8 0 variant 0x7fe756646738 0 variant 0x7fe75653f888 0 variant 0x7fe756537150 0 variant 0x7fe75652d9d8 0 variant 0x7fe756522540 0 variant 0x7fe75651a000 0 variant 0x7fe75690bc78 0 variant 0x7fe7568f75e8 0 variant 0x7fe75689ee70 0 variant 0x7fe75682a738 0 variant 0x7fe7567debd0 0 variant 0x7fe7567be1f8 0 variant 0x7fe756a5fd20 0 variant 0x7fe756a4b3f0 0 variant 0x7fe756a350a8 0 variant 0x7fe756a23540 0 variant 0x7fe756a0e3f0 0 variant 0x7fe7569f50a8 0 variant 0x7fe7569dab28 0 variant 0x7fe7569c9498 0 variant 0x7fe7569b21f8 0 variant 0x7fe7569980a8 0 variant 0x7fe7569871f8 0 variant 0x7fe75696bf18 0 variant 0x7fe75694b348 0 variant 0x7fe756934f18 0 variant 0x7fe756923738 0 variant 0x7fe756912150 0 variant 0x7fe756cfdbd0 0 variant 0x7fe756cea2a0 0 variant 0x7fe756de8888 0 variant 0x7fe756ddb000 0 variant 0x7fe7570160a8 0 variant 0x7fe757000f18 0 variant 0x7fe757000dc8 0 variant 0x7fe757000d20 0 variant 0x7fe757000c78 0 variant 0x7fe757000888 0 variant 0x7fe757000348 0 variant 0x7fe756f40c78 0 variant 0x7fe756f40b28 0 variant 0x7fe756f40888 0 variant 0x7fe757479f18 0 variant 0x7fe75732b3f0 0 variant 0x7fe7573261f8 0 variant 0x7fe757326150 0 variant 0x7fe757326000 0 variant 0x7fe757320f18 0 variant 0x7fe75731e498 0 variant 0x7fe75731bdc8 0 variant 0x7fe75731b348 0 variant 0x7fe75731b150 0 variant 0x7fe75731b0a8 0 variant 0x7fe75731b000 0 variant 0x7fe757319dc8 0 variant 0x7fe757319c78 0 variant 0x7fe757319540 0 variant 0x7fe7573192a0 0 variant 0x7fe7573191f8 0 variant 0x7fe757319150 0 variant 0x7fe7573190a8 0 variant 0x7fe757316930 0 variant 0x7fe757316888 0 variant 0x7fe7573162a0 0 variant 0x7fe757316150 0 variant 0x7fe7573160a8 0 variant 0x7fe7573145e8 0 variant 0x7fe757314540 0 variant 0x7fe7573143f0 0 variant 0x7fe757314e70 0 variant 0x7fe757314930 0 variant 0x7fe75758c3f0 0 variant 0x7fe75752d5e8 0 variant 0x7fe75751a150 1 variant 0x7fe757517a80 0 variant 0x7fe7578b5540 0 variant 0x7fe75782f930 1 variant 0x7fe757806d20 0 variant 0x7fe7577dcf18 0 variant 0x7fe7577dce70 1 variant 0x7fe75889fa80 0 variant 0x7fe75c537dc8 0 found node 0x3c9b600 for type 0x7fe75c5377e0 typedef long unsigned int (0x3c9b600) -> size_t at /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:231 integer_type 0x7fe75889fb28 main 0x7fe75c537738 variant 0x7fe75c537738 0 variant 0x7fe75282cf18 0 variant 0x7fe7527f9b28 0 variant 0x7fe7527e9540 0 variant 0x7fe7527e9150 0 variant 0x7fe7527da540 0 variant 0x7fe7527cc690 0 variant 0x7fe7527cc2a0 0 variant 0x7fe7527be690 0 variant 0x7fe7527aa930 0 variant 0x7fe752760d20 0 variant 0x7fe7527601f8 0 variant 0x7fe752754150 0 variant 0x7fe75274b738 0 variant 0x7fe752742b28 0 variant 0x7fe7527370a8 0 variant 0x7fe7527239d8 0 variant 0x7fe752a08f18 0 variant 0x7fe752a05150 0 variant 0x7fe7529d57e0 0 variant 0x7fe7529c0d20 0 variant 0x7fe752cc9f18 0 variant 0x7fe752cc22a0 0 variant 0x7fe753249888 1 variant 0x7fe7532455e8 0 variant 0x7fe753226738 0 variant 0x7fe753219dc8 1 variant 0x7fe753210b28 0 variant 0x7fe7531f6bd0 0 variant 0x7fe7531d5a80 1 variant 0x7fe7531cc7e0 0 variant 0x7fe7531c71f8 0 variant 0x7fe7531a4e70 1 variant 0x7fe753198bd0 0 variant 0x7fe7531935e8 0 variant 0x7fe75315c2a0 0 variant 0x7fe753156c78 0 variant 0x7fe75314be70 0 variant 0x7fe75314b3f0 0 variant 0x7fe75310f3f0 0 variant 0x7fe753105d20 0 variant 0x7fe753102930 0 variant 0x7fe7530f5f18 0 variant 0x7fe7530efbd0 1 variant 0x7fe7530eb150 0 variant 0x7fe7530dd930 0 variant 0x7fe7534bd0a8 0 variant 0x7fe7534bd5e8 0 variant 0x7fe7534b9738 0 variant 0x7fe7534b95e8 0 variant 0x7fe7534b9dc8 0 variant 0x7fe7534b9c78 0 variant 0x7fe75348c540 0 variant 0x7fe753487dc8 1 variant 0x7fe75347b690 0 variant 0x7fe7534753f0 0 variant 0x7fe75346d7e0 0 variant 0x7fe753387d20 1 variant 0x7fe7535242a0 0 variant 0x7fe753513bd0 0 variant 0x7fe753507540 0 variant 0x7fe7534fa540 0 variant 0x7fe7534f4498 0 variant 0x7fe7534e5dc8 0 variant 0x7fe7534dbf18 0 variant 0x7fe7540b3540 0 variant 0x7fe7540ab5e8 0 variant 0x7fe7540a3b28 0 variant 0x7fe7541a43f0 0 variant 0x7fe75419c348 0 variant 0x7fe754579150 0 variant 0x7fe75454fbd0 0 variant 0x7fe7545482a0 0 variant 0x7fe7544f1540 1 variant 0x7fe7544829d8 0 variant 0x7fe7543e8dc8 1 variant 0x7fe7543dd9d8 0 variant 0x7fe754766bd0 1 variant 0x7fe75475ca80 0 variant 0x7fe75475c5e8 0 variant 0x7fe75475bc78 0 variant 0x7fe754750738 0 variant 0x7fe7547502a0 0 variant 0x7fe75474e930 0 variant 0x7fe75470b000 0 variant 0x7fe7546a8930 0 variant 0x7fe75463d5e8 0 variant 0x7fe754ad5f18 0 variant 0x7fe754d3ee70 0 variant 0x7fe754d20d20 0 variant 0x7fe754d17888 0 variant 0x7fe75542cd20 0 variant 0x7fe7553fc7e0 0 variant 0x7fe7553f6d20 0 variant 0x7fe755611930 0 variant 0x7fe755611540 0 variant 0x7fe7554e9150 0 variant 0x7fe7554e11f8 0 variant 0x7fe7554e1b28 0 variant 0x7fe7554d92a0 0 variant 0x7fe7558bedc8 0 variant 0x7fe7558be888 0 variant 0x7fe755a87498 0 variant 0x7fe755a87000 0 variant 0x7fe755a83e70 0 variant 0x7fe755a795e8 0 variant 0x7fe755a79150 0 variant 0x7fe755a6cbd0 0 variant 0x7fe755984f18 0 variant 0x7fe755950bd0 0 variant 0x7fe755cd9690 0 variant 0x7fe755cbdc78 0 variant 0x7fe755c721f8 0 variant 0x7fe755c2e540 0 variant 0x7fe755c01690 0 variant 0x7fe755b9d738 0 variant 0x7fe755b911f8 0 variant 0x7fe755d17dc8 0 variant 0x7fe7560f0dc8 0 variant 0x7fe75601ec78 0 variant 0x7fe75620fa80 0 variant 0x7fe756206348 0 variant 0x7fe7562005e8 0 variant 0x7fe7561f6348 0 variant 0x7fe7561ee2a0 0 variant 0x7fe75617ed20 0 variant 0x7fe7561755e8 0 variant 0x7fe75616f888 0 variant 0x7fe7561645e8 0 variant 0x7fe75615b540 0 variant 0x7fe75612de70 0 variant 0x7fe756487a80 0 variant 0x7fe75647e7e0 0 variant 0x7fe756474a80 0 variant 0x7fe7563db540 0 variant 0x7fe7563d21f8 0 variant 0x7fe7563c52a0 0 variant 0x7fe756653498 1 variant 0x7fe7565830a8 1 variant 0x7fe75653f930 0 variant 0x7fe7565371f8 0 variant 0x7fe75652da80 0 variant 0x7fe7565225e8 0 variant 0x7fe75651a0a8 0 variant 0x7fe75690bd20 0 variant 0x7fe7568f7d20 0 variant 0x7fe7568e3930 0 variant 0x7fe7568d8498 0 variant 0x7fe7568bcb28 0 variant 0x7fe7568b2498 0 variant 0x7fe75689e5e8 0 variant 0x7fe756899c78 1 variant 0x7fe756891690 0 variant 0x7fe7568915e8 0 variant 0x7fe756dc9e70 0 variant 0x7fe756dbc000 0 variant 0x7fe757016000 0 variant 0x7fe757000e70 0 variant 0x7fe757000b28 0 variant 0x7fe757000a80 0 variant 0x7fe7570009d8 0 variant 0x7fe7570005e8 0 variant 0x7fe756f3df18 0 variant 0x7fe756f3ddc8 0 variant 0x7fe756f3db28 0 variant 0x7fe7574c2d20 1 variant 0x7fe7574bcb28 0 variant 0x7fe757479e70 0 variant 0x7fe7573260a8 0 variant 0x7fe757320e70 0 variant 0x7fe757320498 0 variant 0x7fe7573203f0 0 variant 0x7fe75731ec78 0 variant 0x7fe75731e540 0 variant 0x7fe75731e1f8 0 variant 0x7fe75731bd20 0 variant 0x7fe75731bb28 0 variant 0x7fe75731b9d8 0 variant 0x7fe75731b738 0 variant 0x7fe75731b540 0 variant 0x7fe75731b498 0 variant 0x7fe757319f18 0 variant 0x7fe757319d20 0 variant 0x7fe757319888 0 variant 0x7fe7573195e8 0 variant 0x7fe757319498 0 variant 0x7fe7573193f0 0 variant 0x7fe757319348 0 variant 0x7fe757319000 0 variant 0x7fe757316690 0 variant 0x7fe757316f18 0 variant 0x7fe757316bd0 0 variant 0x7fe757316a80 0 variant 0x7fe7573167e0 0 variant 0x7fe7573163f0 0 variant 0x7fe757316348 0 variant 0x7fe757314498 0 variant 0x7fe757314f18 0 variant 0x7fe757314dc8 0 variant 0x7fe7576a5e70 1 variant 0x7fe7576a5dc8 1 variant 0x7fe7575d2540 0 variant 0x7fe7575b5498 0 variant 0x7fe7575b1d20 0 variant 0x7fe757590930 0 variant 0x7fe7578b5498 0 variant 0x7fe757816540 0 variant 0x7fe75889fb28 0 found node 0x3c9b430 for type 0x7fe75c537738 typedef long int (0x3c9b430) -> ptrdiff_t at /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:232 nullptr_type 0x7fe75889fbd0 main 0x7fe75c682a80 variant 0x7fe75c682a80 0 variant 0x7fe7578b5738 0 variant 0x7fe75889fbd0 0 unsupported nullptr_type (0x3a5ea00) at /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:235 typedef (0x3a5ea00) -> nullptr_t at /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:235 integer_type 0x7fe75889ff18 main 0x7fe75c537540 variant 0x7fe75c537540 0 variant 0x7fe755d44d20 1 variant 0x7fe755d44c78 0 variant 0x7fe756133540 0 variant 0x7fe7568dc690 1 variant 0x7fe7568d83f0 0 variant 0x7fe756bc9498 1 variant 0x7fe756d71dc8 0 variant 0x7fe756d64150 0 variant 0x7fe757000738 0 variant 0x7fe7570001f8 0 variant 0x7fe756f31150 0 variant 0x7fe756f31000 0 variant 0x7fe756f2d738 0 variant 0x7fe7572a7540 0 variant 0x7fe75729d540 0 variant 0x7fe75731e348 0 variant 0x7fe75731be70 0 variant 0x7fe757319b28 0 variant 0x7fe757314bd0 0 variant 0x7fe7573147e0 0 variant 0x7fe75730e888 1 variant 0x7fe757589e70 0 variant 0x7fe7578067e0 0 variant 0x7fe75889ff18 0 variant 0x7fe75c537c78 0 found node 0x3c9aec0 for type 0x7fe75c537540 typedef short unsigned int (0x3c9aec0) -> uint_least16_t at /usr/include/c++/7/type_traits:44 integer_type 0x7fe7588fc000 main 0x7fe75c537690 variant 0x7fe75c537690 0 variant 0x7fe752ecd9d8 0 variant 0x7fe752ecd888 0 variant 0x7fe7533d75e8 0 variant 0x7fe7533d3dc8 0 variant 0x7fe7538b7690 1 variant 0x7fe7538a40a8 0 variant 0x7fe75389ddc8 0 variant 0x7fe7553d4888 0 variant 0x7fe7553d0498 0 variant 0x7fe75562bd20 1 variant 0x7fe755807dc8 0 variant 0x7fe755807c78 0 variant 0x7fe7557af348 1 variant 0x7fe755ab0b28 1 variant 0x7fe755a9b690 0 variant 0x7fe755a9b540 0 variant 0x7fe755984a80 0 variant 0x7fe75595dc78 0 variant 0x7fe755cd9540 0 variant 0x7fe755c2e3f0 0 variant 0x7fe755b9d3f0 0 variant 0x7fe755d17c78 0 variant 0x7fe7561340a8 0 variant 0x7fe756694690 0 variant 0x7fe7568f2e70 1 variant 0x7fe7568e3888 0 variant 0x7fe7568c9e70 1 variant 0x7fe7568bca80 0 variant 0x7fe756870150 0 variant 0x7fe7568445e8 1 variant 0x7fe75681f348 0 variant 0x7fe75681f1f8 0 variant 0x7fe7567e8d20 1 variant 0x7fe7567d79d8 0 variant 0x7fe7567d7888 0 variant 0x7fe7567c83f0 1 variant 0x7fe7567b3738 0 variant 0x7fe7567b3f18 0 variant 0x7fe7567a0a80 1 variant 0x7fe756790348 1 variant 0x7fe75677bbd0 1 variant 0x7fe75676a498 1 variant 0x7fe756755d20 1 variant 0x7fe7567445e8 1 variant 0x7fe756734e70 1 variant 0x7fe756723738 1 variant 0x7fe75670ec78 1 variant 0x7fe756afe888 1 variant 0x7fe756af4000 1 variant 0x7fe756adc9d8 1 variant 0x7fe756ad1150 1 variant 0x7fe756abeb28 1 variant 0x7fe756aaf3f0 1 variant 0x7fe756a9bc78 1 variant 0x7fe756a8e540 1 variant 0x7fe756a7f5e8 1 variant 0x7fe756a7f540 1 variant 0x7fe756a56b28 0 variant 0x7fe756a569d8 0 variant 0x7fe756a43000 0 variant 0x7fe756a3eb28 0 variant 0x7fe756a2cc78 0 variant 0x7fe756a2cb28 0 variant 0x7fe756a1b150 0 variant 0x7fe756a1b000 0 variant 0x7fe756a03000 0 variant 0x7fe7569ffb28 0 variant 0x7fe7569ecc78 0 variant 0x7fe7569ecb28 0 variant 0x7fe7569d27e0 0 variant 0x7fe7569d2690 0 variant 0x7fe7569c20a8 0 variant 0x7fe7569bebd0 0 variant 0x7fe7569acd20 0 variant 0x7fe7569acbd0 0 variant 0x7fe756991c78 0 variant 0x7fe756991b28 0 variant 0x7fe75697a738 0 variant 0x7fe75697af18 0 variant 0x7fe756963bd0 0 variant 0x7fe756963a80 0 variant 0x7fe75693dd20 0 variant 0x7fe75693d888 0 variant 0x7fe75692bbd0 0 variant 0x7fe75692ba80 0 variant 0x7fe75691a348 0 variant 0x7fe75691a1f8 0 variant 0x7fe756d045e8 0 variant 0x7fe756d04e70 0 variant 0x7fe756cf59d8 0 variant 0x7fe756cf5888 0 variant 0x7fe756cdbe70 0 variant 0x7fe756cdbd20 0 variant 0x7fe756cd5bd0 0 variant 0x7fe756dace70 0 variant 0x7fe756d99f18 0 variant 0x7fe7570007e0 0 variant 0x7fe7570002a0 0 variant 0x7fe756f37738 0 variant 0x7fe756f375e8 0 variant 0x7fe756f37dc8 0 variant 0x7fe7572a7888 0 variant 0x7fe75729d690 0 variant 0x7fe75732b9d8 0 variant 0x7fe75731e3f0 0 variant 0x7fe75731bf18 0 variant 0x7fe75731bc78 0 variant 0x7fe75731b690 0 variant 0x7fe75731b3f0 0 variant 0x7fe75731b2a0 0 variant 0x7fe75731b1f8 0 variant 0x7fe757319bd0 0 variant 0x7fe757319930 0 variant 0x7fe757316b28 0 variant 0x7fe7573169d8 0 variant 0x7fe7573161f8 0 variant 0x7fe757316000 0 variant 0x7fe757314690 0 variant 0x7fe757314d20 0 variant 0x7fe757314888 0 variant 0x7fe75758c150 0 variant 0x7fe757806a80 0 variant 0x7fe7588fc000 0 variant 0x7fe75c537d20 0 found node 0x3c9b260 for type 0x7fe75c537690 typedef unsigned int (0x3c9b260) -> uint_least32_t at /usr/include/c++/7/type_traits:45 record_type template (0x7fe75883bb80) integral_constant (0x7fe7588fc3f0) at /usr/include/c++/7/type_traits:69 specializations: instantiations: instantiation 0x7fe7532265e8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7531f6a80 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7531c70a8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe753193498 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75315c9d8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75347b540 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7534752a0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe753403348 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533f6888 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533f6348 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533f33f0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533eae70 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533eaa80 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533ea3f0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533d7e70 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533d7498 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533d3c78 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533b6150 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533b3d20 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533b39d8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533aab28 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533aa2a0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533a6bd0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7533a67e0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe753387e70 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe753387000 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75337fe70 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75337fbd0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75374b5e8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe753745bd0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe753972bd0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe753d433f0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe753d39498 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe753cfa9d8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe753be8150 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe754127498 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe754186a80 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe754186888 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe754173c78 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75459cf18 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7544b5dc8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75466cbd0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe754839c78 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe754af6e70 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe754dc7888 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75545b930 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe757431498 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75752d498 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe757525150 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7578abe70 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75789b0a8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe757890150 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577e5b28 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577e5498 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577e5150 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577e19d8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577dcd20 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577dca80 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577dc7e0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577dc3f0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577dc000 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577d99d8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577d9348 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577d6e70 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577d6888 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577cd930 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577c3888 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577aff18 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577af7e0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577ac738 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577851f8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577731f8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577689d8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577647e0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe757764348 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577640a8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75775fdc8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75775fb28 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75775f888 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75775f5e8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75775f348 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75775f0a8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75775adc8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577519d8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75772c7e0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75772c540 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75772c2a0 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7577261f8 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe757726540 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe75890ca80 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe758900000 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7588fcd20 at /usr/include/c++/7/type_traits:69 instantiation 0x7fe7588fcbd0 at /usr/include/c++/7/type_traits:69 start record_type template integral_constant at /usr/include/c++/7/type_traits:69 end record_type template integral_constant (0x397bf60) at /usr/include/c++/7/type_traits:69 record_type 0x7fe7588fcc78 main 0x7fe7588fcbd0 variant 0x7fe7588fcbd0 0 variant 0x7fe752aaee70 0 variant 0x7fe752a98b28 0 variant 0x7fe75299c1f8 0 variant 0x7fe75297d690 0 variant 0x7fe752966b28 0 variant 0x7fe752953a80 0 variant 0x7fe752be2a80 0 variant 0x7fe75318da80 0 variant 0x7fe753148930 0 variant 0x7fe75349e930 0 variant 0x7fe7533d7150 0 variant 0x7fe7533d7d20 0 variant 0x7fe7533d7348 0 variant 0x7fe753518348 0 variant 0x7fe7535182a0 0 variant 0x7fe753507d20 0 variant 0x7fe7534f47e0 0 variant 0x7fe7534f4690 0 variant 0x7fe7534e00a8 0 variant 0x7fe7534db3f0 0 variant 0x7fe753d2c3f0 0 variant 0x7fe753d28930 0 variant 0x7fe753d22e70 0 variant 0x7fe753d203f0 0 variant 0x7fe753d1ca80 0 variant 0x7fe753d17000 0 variant 0x7fe753d11540 0 variant 0x7fe753d0ea80 0 variant 0x7fe753d0c150 0 variant 0x7fe753d08738 0 variant 0x7fe753d01d20 0 variant 0x7fe753cff348 0 variant 0x7fe753cdb930 0 variant 0x7fe753cc5c78 0 variant 0x7fe753c865e8 0 variant 0x7fe753c7e1f8 0 variant 0x7fe753c6ba80 0 variant 0x7fe753fcadc8 0 variant 0x7fe753fbde70 0 variant 0x7fe753fa67e0 0 variant 0x7fe753f8ac78 0 variant 0x7fe753f7ae70 0 variant 0x7fe753f5e348 0 variant 0x7fe753f52348 0 variant 0x7fe754346c78 0 variant 0x7fe75433b9d8 0 variant 0x7fe75432b690 0 variant 0x7fe75431b930 0 variant 0x7fe7543139d8 0 variant 0x7fe7542f71f8 0 variant 0x7fe7542dd540 0 variant 0x7fe754237d20 0 variant 0x7fe7542249d8 0 variant 0x7fe7541bd150 0 variant 0x7fe7541af0a8 0 variant 0x7fe75446edc8 0 variant 0x7fe7544585e8 0 variant 0x7fe754ad2d20 0 variant 0x7fe754ad2c78 0 variant 0x7fe754a7bd20 0 variant 0x7fe754a60e70 0 variant 0x7fe754bf7b28 0 variant 0x7fe754be11f8 0 variant 0x7fe755283f18 0 variant 0x7fe755270738 0 variant 0x7fe7551a5690 0 variant 0x7fe75518be70 0 variant 0x7fe755608e70 0 variant 0x7fe75587dc78 0 variant 0x7fe755865498 0 variant 0x7fe755a5a2a0 0 variant 0x7fe755a42c78 0 variant 0x7fe755cb7bd0 0 variant 0x7fe755ca33f0 0 variant 0x7fe755b79a80 0 variant 0x7fe755b68150 0 variant 0x7fe7560e49d8 0 variant 0x7fe7560dbbd0 0 variant 0x7fe7560ca0a8 0 variant 0x7fe7562141f8 0 variant 0x7fe756214150 0 variant 0x7fe756206b28 0 variant 0x7fe7561ee5e8 0 variant 0x7fe7561ee498 0 variant 0x7fe756181498 0 variant 0x7fe7561813f0 0 variant 0x7fe756175dc8 0 variant 0x7fe75615b888 0 variant 0x7fe75615b738 0 variant 0x7fe756474dc8 0 variant 0x7fe756474c78 0 variant 0x7fe7563c55e8 0 variant 0x7fe7563c5498 0 variant 0x7fe7565430a8 0 variant 0x7fe756543000 0 variant 0x7fe7565379d8 0 variant 0x7fe7565331f8 0 variant 0x7fe756533150 0 variant 0x7fe756522dc8 0 variant 0x7fe75651ab28 0 variant 0x7fe75651aa80 0 variant 0x7fe756516000 0 variant 0x7fe75690bb28 0 variant 0x7fe756904888 0 variant 0x7fe7574821f8 0 variant 0x7fe7574820a8 0 variant 0x7fe757882e70 0 variant 0x7fe758907c78 1 variant 0x7fe758907bd0 0 variant 0x7fe758907a80 0 variant 0x7fe7588fcc78 0 start record_type instantiation (0x7fe7588fcbd0) for template (0x397bf60) at /usr/include/c++/7/type_traits:87 boolean_type 0x7fe758907b28 main 0x7fe75c537b28 variant 0x7fe75c537b28 0 variant 0x7fe752949738 0 variant 0x7fe752b04348 0 variant 0x7fe752b040a8 1 variant 0x7fe752b04000 1 variant 0x7fe752af9f18 1 variant 0x7fe7535243f0 0 variant 0x7fe753524150 0 variant 0x7fe7534e8000 1 variant 0x7fe7534e5b28 0 variant 0x7fe7534dbbd0 0 variant 0x7fe753f63348 0 variant 0x7fe75433b348 0 variant 0x7fe75426c738 0 variant 0x7fe7542559d8 0 variant 0x7fe754255888 0 variant 0x7fe7542555e8 0 variant 0x7fe754255498 0 variant 0x7fe7542552a0 0 variant 0x7fe7541c7738 0 variant 0x7fe7543d1738 0 variant 0x7fe75475cbd0 0 variant 0x7fe75475c738 0 variant 0x7fe75475c540 0 variant 0x7fe75475c0a8 0 variant 0x7fe75475ba80 0 variant 0x7fe7547501f8 0 variant 0x7fe75474e738 0 variant 0x7fe75473ac78 0 variant 0x7fe75470b1f8 0 variant 0x7fe75470be70 0 variant 0x7fe7546e1150 0 variant 0x7fe7546e10a8 0 variant 0x7fe7546a8888 0 variant 0x7fe755b360a8 0 variant 0x7fe755f989d8 0 variant 0x7fe756118888 0 variant 0x7fe75707b540 0 variant 0x7fe757025dc8 0 variant 0x7fe757025d20 0 variant 0x7fe75701c3f0 0 variant 0x7fe756f157e0 0 variant 0x7fe756f15690 0 variant 0x7fe756f153f0 0 variant 0x7fe758907b28 0 variant 0x7fe758900888 0 variant 0x7fe7589007e0 1 found node 0x3a19cb0 for type 0x7fe75c537b28 typedef bool (0x3a19cb0) -> value_type at /usr/include/c++/7/type_traits:72 record_type 0x7fe758907bd0 main 0x7fe7588fcbd0 variant 0x7fe7588fcbd0 0 variant 0x7fe752aaee70 0 variant 0x7fe752a98b28 0 variant 0x7fe75299c1f8 0 variant 0x7fe75297d690 0 variant 0x7fe752966b28 0 variant 0x7fe752953a80 0 variant 0x7fe752be2a80 0 variant 0x7fe75318da80 0 variant 0x7fe753148930 0 variant 0x7fe75349e930 0 variant 0x7fe7533d7150 0 variant 0x7fe7533d7d20 0 variant 0x7fe7533d7348 0 variant 0x7fe753518348 0 variant 0x7fe7535182a0 0 variant 0x7fe753507d20 0 variant 0x7fe7534f47e0 0 variant 0x7fe7534f4690 0 variant 0x7fe7534e00a8 0 variant 0x7fe7534db3f0 0 variant 0x7fe753d2c3f0 0 variant 0x7fe753d28930 0 variant 0x7fe753d22e70 0 variant 0x7fe753d203f0 0 variant 0x7fe753d1ca80 0 variant 0x7fe753d17000 0 variant 0x7fe753d11540 0 variant 0x7fe753d0ea80 0 variant 0x7fe753d0c150 0 variant 0x7fe753d08738 0 variant 0x7fe753d01d20 0 variant 0x7fe753cff348 0 variant 0x7fe753cdb930 0 variant 0x7fe753cc5c78 0 variant 0x7fe753c865e8 0 variant 0x7fe753c7e1f8 0 variant 0x7fe753c6ba80 0 variant 0x7fe753fcadc8 0 variant 0x7fe753fbde70 0 variant 0x7fe753fa67e0 0 variant 0x7fe753f8ac78 0 variant 0x7fe753f7ae70 0 variant 0x7fe753f5e348 0 variant 0x7fe753f52348 0 variant 0x7fe754346c78 0 variant 0x7fe75433b9d8 0 variant 0x7fe75432b690 0 variant 0x7fe75431b930 0 variant 0x7fe7543139d8 0 variant 0x7fe7542f71f8 0 variant 0x7fe7542dd540 0 variant 0x7fe754237d20 0 variant 0x7fe7542249d8 0 variant 0x7fe7541bd150 0 variant 0x7fe7541af0a8 0 variant 0x7fe75446edc8 0 variant 0x7fe7544585e8 0 variant 0x7fe754ad2d20 0 variant 0x7fe754ad2c78 0 variant 0x7fe754a7bd20 0 variant 0x7fe754a60e70 0 variant 0x7fe754bf7b28 0 variant 0x7fe754be11f8 0 variant 0x7fe755283f18 0 variant 0x7fe755270738 0 variant 0x7fe7551a5690 0 variant 0x7fe75518be70 0 variant 0x7fe755608e70 0 variant 0x7fe75587dc78 0 variant 0x7fe755865498 0 variant 0x7fe755a5a2a0 0 variant 0x7fe755a42c78 0 variant 0x7fe755cb7bd0 0 variant 0x7fe755ca33f0 0 variant 0x7fe755b79a80 0 variant 0x7fe755b68150 0 variant 0x7fe7560e49d8 0 variant 0x7fe7560dbbd0 0 variant 0x7fe7560ca0a8 0 variant 0x7fe7562141f8 0 variant 0x7fe756214150 0 variant 0x7fe756206b28 0 variant 0x7fe7561ee5e8 0 variant 0x7fe7561ee498 0 variant 0x7fe756181498 0 variant 0x7fe7561813f0 0 variant 0x7fe756175dc8 0 variant 0x7fe75615b888 0 variant 0x7fe75615b738 0 variant 0x7fe756474dc8 0 variant 0x7fe756474c78 0 variant 0x7fe7563c55e8 0 variant 0x7fe7563c5498 0 variant 0x7fe7565430a8 0 variant 0x7fe756543000 0 variant 0x7fe7565379d8 0 variant 0x7fe7565331f8 0 variant 0x7fe756533150 0 variant 0x7fe756522dc8 0 variant 0x7fe75651ab28 0 variant 0x7fe75651aa80 0 variant 0x7fe756516000 0 variant 0x7fe75690bb28 0 variant 0x7fe756904888 0 variant 0x7fe7574821f8 0 variant 0x7fe7574820a8 0 variant 0x7fe757882e70 0 variant 0x7fe758907c78 1 variant 0x7fe758907bd0 0 variant 0x7fe758907a80 0 variant 0x7fe7588fcc78 0 found node 0x39e6958 for type 0x7fe7588fcbd0 *** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins. Event | Plugins PLUGIN_START_UNIT | odb PLUGIN_PRAGMAS | odb PLUGIN_OVERRIDE_GATE | odb In file included from :1:0: /usr/local/include/odb/qt/smart-ptr/wrapper-traits.hxx:61:1: internal compiler error: Segmentation fault } ^ 0x7fe75bee5a8a parser::impl::emit_type_name[abi:cxx11](tree_node*, bool) /opt/odb-2.5.0-b.3/odb/parser.cxx:1957 0x7fe75bee5e30 parser::impl::emit_type_name[abi:cxx11](tree_node*, bool) /opt/odb-2.5.0-b.3/odb/parser.cxx:2025 0x7fe75bee98da parser::impl::emit_type_decl(tree_node*) /opt/odb-2.5.0-b.3/odb/parser.cxx:1194 0x7fe75befbf07 semantics::class_instantiation& parser::impl::emit_class(tree_node*, cutl::fs::basic_path const&, unsigned long, unsigned long, bool) /opt/odb-2.5.0-b.3/odb/parser.cxx:463 0x7fe75bee8df4 parser::impl::create_type(tree_node*, semantics::access, cutl::fs::basic_path const&, unsigned long, unsigned long) /opt/odb-2.5.0-b.3/odb/parser.cxx:1765 0x7fe75bee929b parser::impl::emit_type(tree_node*, semantics::access, cutl::fs::basic_path const&, unsigned long, unsigned long) /opt/odb-2.5.0-b.3/odb/parser.cxx:1543 0x7fe75bee96d5 parser::impl::emit_type_decl(tree_node*) /opt/odb-2.5.0-b.3/odb/parser.cxx:1170 0x7fe75beea65e parser::impl::emit() /opt/odb-2.5.0-b.3/odb/parser.cxx:1029 0x7fe75beeae17 parser::impl::parse(tree_node*, cutl::fs::basic_path const&) /opt/odb-2.5.0-b.3/odb/parser.cxx:867 0x7fe75beeaf22 parser::parse(tree_node*, cutl::fs::basic_path const&) /opt/odb-2.5.0-b.3/odb/parser.cxx:2279 0x7fe75befcffa gate_callback /opt/odb-2.5.0-b.3/odb/plugin.cxx:225 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. On Sat, Apr 21, 2018 at 4:31 PM, Boris Kolpackov wrote: > Try to build the latest pre-release[1] of the ODB compiler from source > so that it uses the system GCC. See the INSTALL file inside for details > on how to do it. > > [1] https://codesynthesis.com/~boris/tmp/odb/pre-release/b.3/ > > From boris at codesynthesis.com Tue Apr 24 11:56:19 2018 From: boris at codesynthesis.com (Boris Kolpackov) Date: Tue Apr 24 12:01:36 2018 Subject: [odb-users] Using query members while also renaming class members In-Reply-To: References: <8330f422-289e-59fd-3b72-facf89446933@web.de> <1n6smfd54e7l87a7o6q1omsb.1524301060227@email.android.com> Message-ID: I just tried to compile the following test with the latest master: #include #pragma db object table("XPROCEDURE") struct XProcedure { #pragma db id auto column("NR") int nr; #pragma db column("FILENAME") std::string filename; }; $ odb -q -d oracle test.hxx In the generated test-odb.hxx header I see: template const typename query_columns< ::XProcedure, id_oracle, A >::nr_type_ query_columns< ::XProcedure, id_oracle, A >:: nr (A::table_name, "\"NR\"", 0, 10); Which is where the column name in your query comes from. Can you try just this example and the command line that I used? If you would like to try the latest pre-release, you can get it here: https://codesynthesis.com/~boris/tmp/odb/pre-release/b.3/ Boris From shprotello at mail.ru Mon Apr 30 15:18:49 2018 From: shprotello at mail.ru (=?UTF-8?B?0KHQtdGA0LPQtdC5INCd0LjQutC+0L3QvtCy?=) Date: Mon Apr 30 15:24:36 2018 Subject: [odb-users] Refer a persistent class from another persistent class, where both classes are implemented in different libraries Message-ID: <1525115929.168632961@f451.i.mail.ru> Hi, I've encountered a linking problem in the following situation: - persistent class 'A' is defined in 'moduleA' library - persistent class 'B' is defined in 'moduleB' library and refers to 'A' - both modules are built with dynamic multi-database support When I try to build a library with supporting database code for 'moduleB' I get the following linker error: error LNK2019: unresolved external symbol "public: static class std::shared_ptr __cdecl odb::access::object_traits_impl::find(class odb::database &,unsigned __int64 const &)" (...) referenced in function "protected: class std::shared_ptr __cdecl odb::database::find_(unsigned __int64 const &)" (...) ODB compiler options for B.h compiling are (not all): D:/odb-2.5.0-b.3/odb/bin/odb.exe --multi-database dynamic -d sqlite -d mysql -d pgsql -d common --std c++11 --default-pointer std::shared_ptr --export-symbol common:moduleB_EXPORT --extern-symbol common:moduleB_EXTERN --include-with-brackets? --generate-query --generate-session --hxx-prologue common:#include --profile moduleA --fkeys-deferrable-mode mysql:not_deferrable B.h I use odb-2.5.0-b.3 under MSVC 2015. Is it possible to refer a persistent object from another library if a?referencing persistent class is in another library? Regards, Sergey