NAME
Clownfish::Type::Clownfish - An object Type.
DESCRIPTION
Clownfish::Type::Object supports object types for all classes. The type's specifier
must match the last component of the class name -- i.e. for the class "Crustacean::Lobster" it must be "Lobster".
METHODS
new
my $type = Clownfish::Type::Object->new(
specifier => "Lobster", # required
parcel => "Crustacean", # default: the default Parcel.
const => undef, # default undef
indirection => 1, # default 1
incremented => 1, # default 0
decremented => 0, # default 0
nullable => 1, # default 0
);
specifier - Required. Must follow the rules for Clownfish::Class class name components.
parcel - A Clownfish::Parcel or a parcel name.
const - Should be true if the Type is const. Note that this refers to the object itself and not the pointer.
indirection - Level of indirection. Must be 1 if supplied.
incremented - Indicate whether the caller must take responsibility for an added refcount.
decremented - Indicate whether the caller must account for for a refcount decrement.
nullable - Indicate whether the object specified by this type may be NULL.
The Parcel's prefix will be prepended to the specifier by new().
incremented
Returns true if the Type is incremented.
decremented
Returns true if the Type is decremented.
similar
do_stuff() if $type->similar($other_type);
Weak checking of type which allows for covariant return types.
COPYRIGHT AND LICENSE
Copyright 2008-2011 Marvin Humphrey
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.