build::Wx::XSP::Typemap(3) User Contributed Perl Documentation build::Wx::XSP::Typemap(3)NAME
Wx::XSP::Typemap - map types
Wx::XSP::Typemap::type
Returns the Wx::XSP::Node::Type that is used for this typemap.
Wx::XSP::Typemap::cpp_type()
Returns the C++ type to be used for the local variable declaration.
Wx::XSP::Typemap::input_code( perl_argument_name, cpp_var_name1, ... )
Code to put the contents of the perl_argument (typically ST(x)) into the C++ variable(s).
Wx::XSP::Typemap::output_code()
Wx::XSP::Typemap::cleanup_code()
Wx::XSP::Typemap::call_parameter_code( parameter_name )
Wx::XSP::Typemap::call_function_code( function_call_code, return_variable )
perl v5.10.0 2008-01-20 build::Wx::XSP::Typemap(3)
Check Out this Related Man Page
build::Wx::XSP::XSpp(3) User Contributed Perl Documentation build::Wx::XSP::XSpp(3)NAME
XSpp - XS for C++
SYNOPSIS
In Foo.xs (all in one line):
INCLUDE: perl -S wxperl_xspp --typemap=typemap.xsp
Foo.xsp |
OVERVIEW
XS++ is just a thin layer over plain XS, hence to use it you are supposed to know, at the very least, C++ and XS.
This means that you will need typemaps for both xsubpp and xsubppp.
TYPEMAPS
There is nothing special about typemap files (i.e. you can put typemaps directly in your .xsp file), but it is handy to have common
typemaps in a separate file, to avoid duplication.
%typemap{<C++ type>}{simple};
Just let XS++ that this is a valid type, the type will be passed unchanged to XS code except that any "const" qualifiers will be stripped.
%typemap{<C++ type 1>}{parsed}{%<C++ type 2>%};
When "C++ type 1" is used, replace it with "C++ type 2" in the generated XS code.
%typemap{<C++ reference type>}{reference};
Handle C++ references: the XS variable will be declared as a pointer, and it will be explicitly dereferenced in the function call. If it is
used in the return value, the function will create copy of the returned value using a copy constructor.
DESCRIPTION
Anything that does not look like a XS++ directive or a class declaration is passed verbatim to XS. If you want XS++ to ignore code that
looks like a XS++ directive or class declaration, simply surround it with a raw block delimiter like this:
%{
XS++ won't interpret this
%}
%code
See under Classes.
%file
%file{file/path.h};
...
%file{file/path2};
...
%file{-}
By default XS++ output goes to standard output; to change this, use the %file directive; use "-" for standard output.
%module
%module{Module__Name};
Will be used to generate the "MODULE=Module__Name" XS directives.
%name
%name{Perl::Class} class MyClass { ... };
%name{Perl::Func} int foo();
Specifies the perl name under which the C++ class/function will be accessible.
%typemap
See TYPEMAPS above.
Classes
%name{My::Class} class MyClass
{
// can be called in Perl as My::Class->new( ... );
MyClass( int arg );
// My::Class->newMyClass( ... );
%name{newMyClass} MyClass( const char* str, int arg );
// standard DESTROY method
~MyClass();
int GetInt();
void SetValue( int arg = -1 );
%name{SetString} void SetValue( const char* string = NULL );
// Supply a C<CODE:> or C<CLEANUP:> block for the XS
int MyMethod( int a, int b )
%code{% RETVAL = a + b; %}
%cleanup{% /* do something */ %};
};
perl v5.10.0 2008-01-21 build::Wx::XSP::XSpp(3)
Manufacturer Links
General Information
Home Page: IBM United States
Documentation/Information: IBM System p - UNIX servers: Support and services
pSeries and AIX Information Center
Developerworks AIX Wiki: AIX Wiki
AIX for System Administrators
In-depth information from IBM:
IBM... (0 Replies)
Not sure if anyone is interested but I am just getting into UNIX like shell scripting...
I have great interest in pseudo-animations in text mode and accessing HW like /dev/dsp for example...
...
Have fun, I do... ;o)
# !/bin/sh
#
# Bargraph_Generator.sh
#
# A DEMO 6 bit coloured... (0 Replies)
For a starter I know the braces are NOT in the code...
Consider these code snippets:-
#!/bin/bash --posix
x=0
somefunction()
if
then
echo "I am here."
fi
# somefunction
#!/bin/bash --posix
x=0
somefunction()
if (2 Replies)
For those interested in installing dash shell on OSX Lion to help test POSIX compliancy of shell scripts, it is quite easy. I did it like this:
If you don't have gcc on your system:
0. Download and install the Command Line Tools for Xcode package from Sign In - Apple *
1. Download the dash... (2 Replies)
Hearing Aid...
Hi folks yet another bizarre piece of code that is Apple OSX 10.12.x to at least 10.14.1 specific.
It requires only a default OSX install, and the internal microphone along with an external headphone assembly.
Pre-amble, 14-02-2019:
For over 3 weeks now I have been suffering a... (3 Replies)
What is the point of this? Whenever I close my shell it appends to the history file without adding this. I have never seen it overwrite my history file.
# When the shell exits, append to the history file instead of overwriting it
shopt -s histappend (3 Replies)
Greetings,
I'm trying to delete a file with a weird name from within Terminal on a Mac.
It's a very old file (1992) with null characters in the name: ââWord FinderÂŽ Plusâ˘.
Here are some examples of what I've tried:
12FX009:5 dpontius$ ls
ââWord FinderÂŽ Plusâ˘
12FX009:5 dpontius$ rm... (29 Replies)
I have to print the number of stars that increases on each line from the minimum number until it reaches the maximum number, and then decreases until it goes back to the minimum number. After printing out the lines of stars, it should also print the total number of stars printed.
I have tried... (13 Replies)
Hi all...
Well guys and gals, I jumped in at the deep end and found things that PERL cannot do by default.
Many tricky terminal escape codes are not catered for so I had to create workarounds.
One thing I searched for was this:
Passing perl variable to shell command
AND, @Neo this was... (15 Replies)
Well, guys I saw a question about GOTO for Python.
So this gave me the inspiration to attempt a GOTO function for 'dash', (bash and ksh too).
Machine: MBP OSX 10.14.3, default bash terminal, calling '#!/usr/local/bin/dash'...
This is purely a fun project to see if it is possible in PURE... (3 Replies)
I am sharing a code snippet.
for (( i=0; i<=$(( $count -1 )); i++ ))
do
first=${barr2}
search=${barr1}
echo $first
echo "loop begins"
for (( j=0; j<=5000; j++ ))
do
if } == $search ]]; then
echo $j
break;
fi
done
second=${harr2}
echo $second (2 Replies)
Hi All,
I'm having a python script: test.py in /path/to/script/test.py
I'm using a properties file: test_properties.py (it is having values as dictionary{}) which is in same DIR as the script.
Sample Properties file:
params = {
'target_db' : 'a1_db'
'src_db' : ... (15 Replies)