Provided by: libclass-makemethods-perl_1.01-5_all bug


       Class::MakeMethods::Emulator::Singleton - Emulate Class::Singleton


         use Class::MakeMethods::Emulator::Singleton;

         # returns a new instance
         my $one = Class::MakeMethods::Emulator::Singleton->instance();

         # returns same instance
         my $two = Class::MakeMethods::Emulator::Singleton->instance();


       This module emulates the functionality of Class::Singleton, using Class::MakeMethods to
       generate similar methods.

       You may use it directly, as shown in the SYNOPSIS above,

       Furthermore, you may call  "use Class::MakeMethods::Emulator::Singleton
       '-take_namespace';" to alias the Class::Singleton namespace to this package, and
       subsequent calls to the original package will be transparently handled by this emulator.
       To remove the emulation aliasing, call "use Class::MakeMethods::Emulator::Singleton

       Caution: This affects all subsequent uses of Class::Singleton in your program, including
       those in other modules, and might cause unexpected effects.


       A Singleton describes an object class that can have only one instance in any system.  An
       example of a Singleton might be a print spooler or system registry.  This module
       implements a Singleton class from which other classes can be derived.  By itself, the
       Class::Singleton module does very little other than manage the instantiation of a single
       object.  In deriving a class from Class::Singleton, your module will inherit the Singleton
       instantiation method and can implement whatever specific functionality is required.


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

       See Class::MakeMethods::Emulator for more about this family of subclasses.

       See Class::Singleton for documentation of the original module.

       For a description and discussion of the Singleton class, see "Design Patterns", Gamma et
       al, Addison-Wesley, 1995, ISBN 0-201-63361-2.

       See "new" in Class::MakeMethods::Hash and "instance" in Class::MakeMethods::ClassVar for
       documentation of the created methods.