Class::MakeMethods::Emulator - Demonstrate class-generator equivalency


Class::MakeMethods::Emulator - Demonstrate class-generator equivalency


  # Equivalent to use Class::Singleton;
  use Class::MakeMethods::Emulator::Singleton; 
  # Equivalent to use Class::Struct;
  use Class::MakeMethods::Emulator::Struct; 
  struct ( ... );
  # Equivalent to use Class::MethodMaker( ... );
  use Class::MakeMethods::Emulator::MethodMaker( ... );
  # Equivalent to use base 'Class::Inheritable';
  use base 'Class::MakeMethods::Emulator::Inheritable';
  MyClass->mk_classdata( ... );
  # Equivalent to use base 'Class::AccessorFast';
  use base 'Class::MakeMethods::Emulator::AccessorFast';
  MyClass->mk_accessors(qw(this that whatever));
  # Equivalent to use accessors( ... );
  use Class::MakeMethods::Emulator::accessors( ... );
  # Equivalent to use mcoder( ... );
  use Class::MakeMethods::Emulator::mcoder( ... );


In several cases, Class::MakeMethods provides functionality closely equivalent to that of an existing module, and it is simple to map the existing module's interface to that of Class::MakeMethods.

Class::MakeMethods::Emulator provides emulators for Class::MethodMaker, Class::Accessor::Fast, Class::Data::Inheritable, Class::Singleton, Class::Struct, accessors, and mcoder, each of which passes the original module's test suite, usually requiring only the addition of a a single line to each test, activating the emulation module.

Beyond demonstrating compatibility, these emulators also generally indicate the changes needed to switch to direct use of Class::MakeMethods functionality, illustrate commonalities between the various modules, and serve as a source for new ideas that can be integrated into Class::MakeMethods.


See the Class::MakeMethods manpage for general information about this distribution.

See the Class::MakeMethods::Emulator::accessors manpage, and the accessors manpage from CPAN.

See the Class::MakeMethods::Emulator::Struct manpage, and the Class::Struct manpage from CPAN.

See the Class::MakeMethods::Emulator::AccessorFast manpage, and the Class::Accessor::Fast manpage from CPAN.

See the Class::MakeMethods::Emulator::Inheritable manpage, and the Class::Data::Inheritable manpage from CPAN.

See the Class::MakeMethods::Emulator::MethodMaker manpage, and the Class::MethodMaker manpage from CPAN.

See the Class::MakeMethods::Emulator::Singleton manpage, and the Class::Singleton manpage from CPAN.

See the Class::MakeMethods::Emulator::mcoder manpage, and the mcoder manpage from CPAN.

 Class::MakeMethods::Emulator - Demonstrate class-generator equivalency