=pod

=for comment
DO NOT EDIT. This Pod was generated by Swim v0.1.39.
See http://github.com/ingydotnet/swim-pm#readme

=encoding utf8

=head1 NAME

Cog::Store - Storage object base class for Cog App.

=head1 API

=over

=item C<< connect(root) -> $store >>

Connect to a store. Return store object.

=item C<< init(root) -> $ok >>

Set up a new store.

=item C<< $store->get(id) -> $node >>

Retrieve a node object by id.

=item C<< $store->add(type) -> $node >>

Create a new placeholder node. reserve the id.

=item C<< $store->put(node) -> $ok >>

Save a node, and update all indices.

=item C<< $store->del(id) -> $ok >>

Remove a node, and update all indices.

=item C<< $store->schemata() -> { type => class } >>

Get a map of the valid node classes.

=item C<< $store->index(name) -> [ keys ] >>

Get all keys of an index.

=item C<< $store->index(name, key) -> [ values ] >>

Get all values of an index key.

=item C<< $store->index(name, key, value) -> $ok >>

Add a value to an index key.

=item C<< $store->unindex(name, key, value) -> $ok >>

Remove a value from an index key.

=back

=head1 NOTES

=over

=item * Node schema defines what is indexed.

=item * Node schema comes from node class for now.

=back

=head1 AUTHOR

Ingy döt Net <ingy@cpan.org>

=head1 COPYRIGHT AND LICENSE

Copyright 2010-2015. Ingy döt Net.

This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.

See L<http://www.perl.com/perl/misc/Artistic.html>

=cut
