#!/usr/bin/perl package KiokuDB::Set::Transient; use Moose; use Carp qw(croak); use namespace::clean -except => 'meta'; with qw(KiokuDB::Set); extends qw(KiokuDB::Set::Base); sub loaded { 1 } sub includes { shift->_objects->includes(@_) } sub remove { shift->_objects->remove(@_) } sub members { shift->_objects->members } sub insert { my ( $self, @objects ) = @_; croak "Can't insert non reference into a KiokuDB::Set" if grep { not ref } @objects; $self->_objects->insert(@objects) } __PACKAGE__->meta->make_immutable; __PACKAGE__ __END__ =pod =head1 NAME KiokuDB::Set::Transient - Implementation of in memory sets. =head1 SYNOPSIS my $set = KiokuDB::Set::Transient->new( set => Set::Object->new( @objects ), ); # or use KiokuDB::Util qw(set); my $set = set(@objects); =head1 DESCRIPTION This class implements sets conforming to the L API. These sets can be constructed by the user for insertion into storage. See L for more details. =cut