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 \*(C`name\*(C' string field of the Class::Trait::Config object.
An accessor to the \*(C`sub_traits\*(C' array reference field of the Class::Trait::Config object.
An accessor to the \*(C`requirements\*(C' 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 \*(C`methods\*(C' hash reference field of the Class::Trait::Config object.
An accessor to the \*(C`overloads\*(C' hash reference field of the Class::Trait::Config object.
An accessor to the \*(C`conflicts\*(C' 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 <[email protected]>
Copyright 2004, 2005 by Infinity Interactive, Inc.
<http://www.iinteractive.com>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.