mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
[engine.i] VECTORREF_HELPER_INOUT to handle SplitsVec&
This commit is contained in:
parent
c02152b34a
commit
e2f5c74bb4
@ -86,6 +86,7 @@ GLIST_HELPER_INOUT(PriceList, SWIGTYPE_p_GNCPrice);
|
||||
// TODO: free PriceList?
|
||||
GLIST_HELPER_INOUT(CommodityList, SWIGTYPE_p_gnc_commodity);
|
||||
VECTOR_HELPER_INOUT(SplitsVec, SWIGTYPE_p_Split, Split);
|
||||
VECTORREF_HELPER_INOUT(SplitsVec&, SWIGTYPE_p_Split, Split);
|
||||
VECTOR_HELPER_INOUT(AccountVec, SWIGTYPE_p_Account, Account);
|
||||
|
||||
%typemap(newfree) char * "g_free($1);"
|
||||
|
@ -185,6 +185,15 @@ typedef char gchar;
|
||||
}
|
||||
%enddef
|
||||
|
||||
|
||||
%define VECTORREF_HELPER_INOUT(VectorType, ElemSwigType, ElemType)
|
||||
|
||||
%typemap(out) VectorType {
|
||||
auto accum = [](SCM acc, auto n){ return scm_cons(SWIG_NewPointerObj(n, ElemSwigType, 0), acc); };
|
||||
$result = std::accumulate ($1->rbegin(), $1->rend(), SCM_EOL, accum);
|
||||
}
|
||||
%enddef
|
||||
|
||||
#elif defined(SWIGPYTHON) /* Typemaps for Python */
|
||||
|
||||
%import "glib.h"
|
||||
|
Loading…
Reference in New Issue
Block a user