# *********************************************** # # !!!! DO NOT EDIT !!!! # # This file was auto-generated by Build.PL. # # *********************************************** # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. =encoding utf8 =head1 NAME Clownfish::Class - Class. =head1 SYNOPSIS my $class = Clownfish::Class->fetch_class('Foo::Bar'); my $subclass = Clownfish::Class->singleton('Foo::Bar::Jr', $class); =head1 DESCRIPTION Classes are first-class objects in Clownfish. Class objects are instances of Clownfish::Class. =head1 CONSTRUCTORS =head2 fetch_class my $class = Clownfish::Class->fetch_class($class_name); Find a registered class. May return undef if the class is not registered. =head2 singleton my $class = Clownfish::Class->singleton( class_name => $class_name, # required parent => $parent, # required ); Return a singleton. If a Class can be found in the registry based on the supplied class name, it will be returned. Otherwise, a new Class will be created using C as a base. If C is undef, an attempt will be made to find it. If the attempt fails, an error will result. =head1 METHODS =head2 make_obj my $obj = $class->make_obj(); Create an empty object of the type defined by the Class: allocate, assign its class and give it an initial refcount of 1. The caller is responsible for initialization. =head2 get_name my $string = $class->get_name(); Return the name of the class. =head2 get_parent my $result = $class->get_parent(); Return the parent class, or undef for a root of the class hierarchy. =head2 get_obj_alloc_size my $int = $class->get_obj_alloc_size(); Return the number of bytes needed to hold an instance of the class. =head1 INHERITANCE Clownfish::Class isa L. =cut