
KiokuDB::TypeMap - Class to collapsing/expanding logic.

use KiokuDB::TypeMap;
KiokuDB::TypeMap->new(
entries => {
'Foo' => KiokuDB::TypeMap::Entry::Naive->new,
},
isa_entries => {
'My::Class' => KiokuDB::TypeMap::Entry::Naive->new,
},
includes => [
$typemap_foo,
$typemap_bar,
],
);

The KiokuDB typemap maps classes to KiokuDB::TypeMap::Entry objects.
The mapping is by class, and entries can be keyed normally (using ref $object equality) or by filtering on $object->isa($class) (isa_entries).

A hash of normal entries.
A hash of $object->isa based entries.
A list of parent typemaps to inherit entries from.

Given a class returns the KiokuDB::TypeMap::Entry object corresponding tot hat class.
Called by KiokuDB::TypeMap::Resover
If the entry is an alias, it will be resolved recursively, and simply returned otherwise.
Returns the merged entries from this typemap and all the included typemaps.
Returns the merged isa_entries from this typemap and all the included typemaps.
An array reference of all the classes in all_isa_entries, sorted from least derived to most derived.