git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7608 626c5289-ae23-0410-ae9c-e8d60b6d4f22
62 lines
1,017 B
OpenEdge ABL
62 lines
1,017 B
OpenEdge ABL
// bool typemaps check
|
|
%module bools
|
|
|
|
%warnfilter(801) constbool; /* Ruby, wrong class name */
|
|
|
|
// bool constant
|
|
%constant bool constbool=false;
|
|
|
|
%inline %{
|
|
|
|
// bool variables
|
|
bool bool1 = true;
|
|
bool bool2 = false;
|
|
bool* pbool = &bool1;
|
|
bool& rbool = bool2;
|
|
const bool* const_pbool = pbool;
|
|
const bool& const_rbool = rbool;
|
|
|
|
static int eax()
|
|
{
|
|
return 1024; // NOTE: any number > 255 should do
|
|
}
|
|
|
|
// bool functions
|
|
bool bo(bool b) {
|
|
return b;
|
|
}
|
|
bool& rbo(bool& b) {
|
|
return b;
|
|
}
|
|
bool* pbo(bool* b) {
|
|
return b;
|
|
}
|
|
const bool& const_rbo(const bool& b) {
|
|
return b;
|
|
}
|
|
const bool* const_pbo(const bool* b) {
|
|
return b;
|
|
}
|
|
|
|
// helper function
|
|
bool value(bool* b) {
|
|
return *b;
|
|
}
|
|
|
|
struct BoolStructure {
|
|
bool m_bool1;
|
|
bool m_bool2;
|
|
bool* m_pbool;
|
|
bool& m_rbool;
|
|
const bool* m_const_pbool;
|
|
const bool& m_const_rbool;
|
|
BoolStructure() :
|
|
m_bool1(true),
|
|
m_bool2(false),
|
|
m_pbool(&m_bool1),
|
|
m_rbool(m_bool2),
|
|
m_const_pbool(m_pbool),
|
|
m_const_rbool(m_rbool) {}
|
|
};
|
|
%}
|
|
|