[odb-users] Problem declaring templated class as composite value
type
Andor Pathó
andor.patho at dlubal.cz
Wed Jan 4 05:13:38 EST 2012
Hello,
I am currently evaluating ODB as an ORM solution for an upcoming project
and came across the following problem:
I need to map a templated class (it is a classic 3d vector type with 3
numeric components) as a composite value.
If I try adding #pragma db value to the templated class declaration, the
odb compiler does not recognize the class declaration, presumably
because of the template declaration.
If I try using #pragma db value(vector3d), where vector3d is a typedef
for a template specialization of the templated vector type, the odb
compiler crashes:
terminate called after throwing an instance of
'cutl::compiler::context::no_entry'
what(): N4cutl8compiler7context8no_entryE
This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application's support team for more information.
*** 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
D:/Dlubal_2012/src/Framework/3rdParty/odb/container-traits.hxx:196:0,
from <standard-odb-epilogue>:9:
D:/Dlubal_2012/src/Framework/3rdParty/odb/std-vector-traits.hxx:66:1:
internal compiler error: Aborted
I am not sure whether this is a bug, or mapping template classes is not
supported in ODB at all, as I have found no mention of it in the
documentation.
More information about the odb-users
mailing list