GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  EXTUTILS::XSPP::NODE::FUNCTION (3)

.ds Aq ’

NAME

ExtUtils::XSpp::Node::Function - Node representing a function

CONTENTS

DESCRIPTION

An ExtUtils::XSpp::Node subclass representing a single function declaration such as



  int foo();



More importantly, ExtUtils::XSpp::Node::Method inherits from this class, so all in here equally applies to method nodes.

METHODS

    new

Creates a new ExtUtils::XSpp::Node::Function.

Named parameters: cpp_name indicating the C++ name of the function, perl_name indicating the Perl name of the function (defaults to the same as cpp_name), arguments can be a reference to an array of ExtUtils::XSpp::Node::Argument objects and finally ret_type indicates the (C++) return type of the function.

Additionally, there are several optional decorators for a function declaration (see ExtUtils::XSpp for a list). These can be passed to the constructor as code, cleanup, postcall, and catch. catch is special in that it must be a reference to an array of class names.

    resolve_typemaps

Fetches the ExtUtils::XSpp::Typemap object for the return type and the arguments from the typemap registry and stores a reference to those objects.

    resolve_exceptions

Fetches the ExtUtils::XSpp::Exception object for the %catch directives associated with this function.

    add_exception_handlers

Adds a list of exception names to the list of exception handlers. This is mainly called by a class’ add_methods method. If the function is hard-wired to have no exception handlers, any extra handlers from the class are ignored.

    print_declaration

Returns a string with a C++ method declaration for the node.

    perl_function_name

Returns the name of the Perl function to generate.

    is_method

Returns whether the object at hand is a method. Hard-wired to be false for ExtUtils::XSpp::Node::Function object, but overridden in the ExtUtils::XSpp::Node::Method sub-class.

    has_argument_with_length

Returns true if the function has any argument that uses the XS length feature.

ACCESSORS

    cpp_name

Returns the C++ name of the function.

    perl_name

Returns the Perl name of the function (defaults to same as C++).

    set_perl_name

Sets the Perl name of the function.

    arguments

Returns the internal array reference of ExtUtils::XSpp::Node::Argument objects that represent the function arguments.

    ret_type

Returns the C++ return type.

    code

Returns the %code decorator if any.

    set_code

Sets the implementation for the method call (equivalent to using %code); takes the code as an array reference containing the lines.

    cleanup

Returns the %cleanup decorator if any.

    postcall

Returns the %postcall decorator if any.

    catch

Returns the set of exception types that were associated with the function via %catch. (array reference)

    set_static

Sets the static-ness attribute of the function. Can be either undef (i.e. not static), "package_static", or "class_static".

    package_static

Returns whether the function is package static. A package static function can be invoked as:



    My::Package::Function( ... );



    class_static

Returns whether the function is class static. A class static function can be invoked as:



    My::Package->Function( ... );



Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 EXTUTILS::XSPP::NODE::FUNCTION (3) 2016-03-17

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.