=pod

=head1 NAME

Package::Transporter::Generator::Drain::Enumerated - Generate constant functions with enumerated values

=head1 SYNOPSIS

	package Parent_Class;
	use Package::Transporter sub{eval shift}, sub {
		$_[0]->register_drain('::Enumerated', 'FOR_FAMILY',
			'ATB_', qw(NAME  STOCK  PRICE));
	};
	
	package Child_Class;
	BEGIN {our @ISA = ('Parent_Class')}; # more like 'use parent ...'
	use Package::Transporter sub{eval shift}, sub {
		$_[0]->register_drain('::Enumerated', 'FOR_SELF',
			'ATB_', qw(SALE));
	};
	
	print STDOUT 'ATB_PRICE=', ATB_PRICE, "\n";
	print STDOUT 'ATB_SALE=', ATB_SALE, "\n";
	exit(0);

=head1 DESCRIPTION

Enumeration is restarted in each affected package. (Caution: this is implicit drain.)

=head2 See Also

The following packages provide support for objects as array references and are therefore loosely related to Transporter: L<Class-Gomor> and L<Class-ArrayObjects>.

The following packages treat arrays as objects, which this base class is not about, but that also clarifies things: 
L<List::oo>, 
L<Class-Builtin>, 
L<Devel-Ladybug>, and
L<Object-Array>.


=head1 ANYTHING ELSE

Please see the documentation of the upstream package L<Package::Transporter>.

=cut
