5 #ifndef ODB_POLYMORPHIC_INFO_HXX
6 #define ODB_POLYMORPHIC_INFO_HXX
59 if (b->sections != 0 &&
61 b->sections->functions[index].load != 0)
62 return b->sections->functions[index].load;
71 if (b->sections != 0 &&
73 b->sections->functions[index].update != 0)
74 return b->sections->functions[index].update;
81 std::size_t index)
const
90 const std::type_info&
type;
102 template <
typename R>
109 typedef typename root_traits::id_type
id_type;
158 template <
typename T, database_
id DB>
172 template <
typename R>
179 template <
typename R>
180 inline const polymorphic_concrete_info<R>*
189 #endif // ODB_POLYMORPHIC_INFO_HXX
object_traits_impl< object_type, DB > object_traits
Definition: polymorphic-info.hxx:162
Definition: polymorphic-info.hxx:103
delayed_loader_function delayed_loader
Definition: polymorphic-info.hxx:153
bool derived(const polymorphic_abstract_info &b) const
Definition: polymorphic-info.hxx:44
Definition: polymorphic-info.hxx:120
const section_functions * functions
Definition: polymorphic-info.hxx:34
polymorphic_abstract_info(const std::type_info &t, const polymorphic_abstract_info *b, const section_list *s)
Definition: polymorphic-info.hxx:38
const section_list * sections
Definition: polymorphic-info.hxx:99
const std::type_info & type
Definition: polymorphic-info.hxx:90
R root_type
Definition: polymorphic-info.hxx:107
Definition: polymorphic-info.hxx:159
discriminator_type discriminator
Definition: polymorphic-info.hxx:150
Definition: polymorphic-info.hxx:123
section_load find_section_load(std::size_t index) const
Definition: polymorphic-info.hxx:56
T object_type
Definition: polymorphic-info.hxx:161
root_traits::id_type id_type
Definition: polymorphic-info.hxx:109
Definition: polymorphic-info.hxx:122
call_type
Definition: polymorphic-info.hxx:115
Definition: polymorphic-info.hxx:119
Definition: polymorphic-info.hxx:117
section_load load
Definition: polymorphic-info.hxx:27
polymorphic_concrete_info(const std::type_info &t, const polymorphic_abstract_info< R > *b, const section_list *s, const discriminator_type &d, create_function cf, dispatch_function df, delayed_loader_function dlf)
Definition: polymorphic-info.hxx:136
create_function create
Definition: polymorphic-info.hxx:151
root_traits::discriminator_type discriminator_type
Definition: polymorphic-info.hxx:111
std::size_t count
Definition: polymorphic-info.hxx:33
Definition: forward.hxx:126
root_traits::pointer_type pointer_type
Definition: polymorphic-info.hxx:110
Definition: polymorphic-info.hxx:121
object_traits::root_type root_type
Definition: polymorphic-info.hxx:163
Definition: polymorphic-info.hxx:31
pointer_type(* create_function)()
Definition: polymorphic-info.hxx:126
const polymorphic_abstract_info * base
Definition: polymorphic-info.hxx:91
Definition: database.hxx:38
Definition: connection.hxx:33
section_update find_section_update(std::size_t index) const
Definition: polymorphic-info.hxx:68
Definition: polymorphic-info.hxx:118
dispatch_function dispatch
Definition: polymorphic-info.hxx:152
const polymorphic_concrete_info< R > * polymorphic_info(const polymorphic_concrete_info< R > &i)
Definition: polymorphic-info.hxx:174
void(* section_load)(odb::connection &, R &, bool top)
Definition: polymorphic-info.hxx:22
Definition: schema-version.hxx:15
bool(* dispatch_function)(call_type, odb::database &, const root_type *, const void *arg)
Definition: polymorphic-info.hxx:127
bool final_section_update(const polymorphic_abstract_info &i, std::size_t index) const
Definition: polymorphic-info.hxx:80
Definition: polymorphic-info.hxx:20
void(* delayed_loader_function)(odb::database &, const id_type &, root_type &, const schema_version_migration *)
Definition: polymorphic-info.hxx:129
void(* section_update)(odb::connection &, const R &)
Definition: polymorphic-info.hxx:23
section_update update
Definition: polymorphic-info.hxx:28
Definition: polymorphic-info.hxx:25
access::object_traits< root_type > root_traits
Definition: polymorphic-info.hxx:108
polymorphic_abstract_info< R >::section_list section_list
Definition: polymorphic-info.hxx:113
Definition: forward.hxx:95