diff options
Diffstat (limited to 'lib/Data/MultiValued/TagContainerForRanges.pm')
-rw-r--r-- | lib/Data/MultiValued/TagContainerForRanges.pm | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/Data/MultiValued/TagContainerForRanges.pm b/lib/Data/MultiValued/TagContainerForRanges.pm index 604dcb7..826df9d 100644 --- a/lib/Data/MultiValued/TagContainerForRanges.pm +++ b/lib/Data/MultiValued/TagContainerForRanges.pm @@ -4,6 +4,21 @@ use MooseX::Types::Moose qw(HashRef); use Moose::Util::TypeConstraints; use Data::MultiValued::RangeContainer; +# ABSTRACT: container for tagged values that are ranged containers + +=head1 DESCRIPTION + +Please don't use this module directly, use +L<Data::MultiValued::TagsAndRanges>. + +This module is a subclass of L<Data::MultiValued::TagContainer>, which +only allows instances of L<Data::MultiValued::RangeContainer> as +"storage cells". + +=head1 METHODS + +=cut + extends 'Data::MultiValued::TagContainer'; has '+_storage' => ( @@ -14,10 +29,27 @@ has '+_default_tag' => ( isa => class_type('Data::MultiValued::RangeContainer'), ); +=head2 C<_create_new_inferior> + +Returns a new L<Data::MultiValued::RangeContainer> instance. + +=cut + sub _create_new_inferior { Data::MultiValued::RangeContainer->new(); } +=head1 Serialisation helpers + +These are used through +L<Data::MultiValued::UglySerializationHelperRole>. + +=head2 C<_rebless_storage> + +Blesses the "storage cells" into L<Data::MultiValued::RangeContainer>. + +=cut + sub _rebless_storage { my ($self) = @_; bless $_,'Data::MultiValued::RangeContainer' @@ -26,6 +58,13 @@ sub _rebless_storage { return; } +=head2 C<_as_hash> + +Returns the internal representation with no blessed hashes, with as +few copies as possible. + +=cut + sub _as_hash { my ($self) = @_; my %st; |