Returns true if the provided package name or object is a Moose::Role.
Returns true if $class_or_obj does the given $role_or_obj. The role can
be provided as a name or a Moose::Meta::Role object.
The class must already have a metaclass for this to work. If it doesnt, this
function simply returns false.
Returns the first class in the classs precedence list that does
$role_or_obj, if any. The role can be either a name or a
The class must already have a metaclass for this to work.
This function applies one or more roles to the given $applicant. The
applicant can be a role name, class name, or object.
The $applicant must already have a metaclass object.
The list of @roles should a list of names or Moose::Meta::Role objects,
each of which can be followed by an optional hash reference of options
(-excludes and -alias).
This function is similar to apply_all_roles, but only applies roles that
$applicant does not already consume.
This function creates a new class from $class_name with each of
@role_names applied. It returns the name of the new class.
Returns a hash reference containing all of the $instances
attributes. The keys are attribute names.
Returns a hash reference containing all of the init_arg values for
the instances attributes. The values are the associated attribute
values. If an attribute does not have a defined init_arg, it is
This could be useful in cloning an object.
resolve_metaclass_alias($category, CW$name, CW%options)
resolve_metatrait_alias($category, CW$name, CW%options)
Resolves a short name to a full class name. Short names are often used
when specifying the metaclass or traits option for an attribute:
has foo => (
metaclass => "Bar",
The name resolution mechanism is covered in
Metaclass and Trait Name Resolution in Moose.
Create an alias from the class $from (or the current package, if
$from is unspecified), so that
Metaclass and Trait Name Resolution in Moose works properly.