git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6893 626c5289-ae23-0410-ae9c-e8d60b6d4f22
59 lines
686 B
OpenEdge ABL
59 lines
686 B
OpenEdge ABL
%module li_std_stream
|
|
|
|
%inline %{
|
|
struct A;
|
|
%}
|
|
|
|
%include <std_iostream.i>
|
|
%include <std_sstream.i>
|
|
|
|
|
|
|
|
%callback(1) A::bar;
|
|
|
|
%inline %{
|
|
|
|
struct B {
|
|
virtual ~B()
|
|
{
|
|
}
|
|
|
|
};
|
|
|
|
struct A : B
|
|
{
|
|
void __add__(int a)
|
|
{
|
|
}
|
|
|
|
void __add__(double a)
|
|
{
|
|
}
|
|
|
|
static int bar(int a){
|
|
return a;
|
|
}
|
|
|
|
static int foo(int a, int (*pf)(int a))
|
|
{
|
|
return pf(a);
|
|
}
|
|
|
|
|
|
std::ostream& __rlshift__(std::ostream& out)
|
|
{
|
|
out << "A class";
|
|
return out;
|
|
}
|
|
};
|
|
%}
|
|
|
|
%extend std::basic_ostream<char>{
|
|
std::basic_ostream<char>&
|
|
operator<<(const A& a)
|
|
{
|
|
*self << "A class";
|
|
return *self;
|
|
}
|
|
}
|
|
|