summaryrefslogtreecommitdiff
path: root/odb/relational/type-processor.cxx
AgeCommit message (Collapse)AuthorFilesLines
2011-08-04Add support for value wrappersBoris Kolpackov1-1/+217
Wrapper is a class that wraps another type. Examples of wrappers are various smart pointers, holders, etc. A wrapper can be transparent or it can handle the NULL semantics. The new odb::nullable class template is a NULL wrapper that helps to add the NULL semantics to a value type. New test: common/wrapper.
2011-07-19New design for NULL semanticsBoris Kolpackov1-24/+69
Now, instead of being specified as part of the SQL type with the type pragma, there are separate null and not_null pragmas. The not_null pragma was used to control NULL-ness of object pointers. Now the two pragmas are used consistently for object pointers and simple values (and in the future will work for composite values and containers).
2011-04-25Add support for mapping to database types based on type aliasesBoris Kolpackov1-17/+72
This allows us to, for example, always map size_t to 64-bit type. The current implementation does not work for containers. It is not clear whether it will be possible to make it work using the GCC AST.
2011-04-25Add support for abstract object typesBoris Kolpackov1-4/+18
2011-04-25Add complete() and abstract() predicates to semantics::class_Boris Kolpackov1-1/+1
2011-04-24Implement id_type value type pragmaBoris Kolpackov1-15/+18
2011-04-22Detect and diagnose incomplete pointed-to classesBoris Kolpackov1-0/+18
2011-04-20Cosmetic changesBoris Kolpackov1-7/+7
2011-04-19Remove unused flagBoris Kolpackov1-3/+3
2011-03-21Move the rest of generators to new ctor-less contextBoris Kolpackov1-16/+18
2011-03-21Move type processor to relational/Boris Kolpackov1-0/+1104