
Class::Trait::Config - Trait configuration information storage package.

This package is used internally by Class::Trait to store Trait configuration information. It is also used by Class::Trait::Reflection to gather information about a Trait.

This class is a intentionally very C-struct-like. It is meant to help encapsulate the Trait configuration information in a clean easy to access way.
This class is effectively sealed. It is not meant to be extended, only to be used.

Creates a new empty Class::Trait::Config object, with fields initialized to empty containers.
An accessor to the name string field of the Class::Trait::Config object.
An accessor to the sub_traits array reference field of the Class::Trait::Config object.
An accessor to the requirements hash reference field of the Class::Trait::Config object.
Note,
the requirements field is a hash reference to speed requirement lookup,
the values of the hash are simply booleans.
An accessor to the methods hash reference field of the Class::Trait::Config object.
An accessor to the overloads hash reference field of the Class::Trait::Config object.
An accessor to the conflicts hash reference field of the Class::Trait::Config object.
Note,
the conflicts field is a hash reference to speed conflict lookup,
the values of the hash are simply booleans.
Provides deep copy functionality for the Class::Trait::Config object. This will be sure to copy all sub-elements of the object, but not to attempt to copy and subroutine references found.

Class::Trait, Class::Trait::Reflection

Stevan Little <stevan@iinteractive.com>

Copyright 2004, 2005 by Infinity Interactive, Inc.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.