.def("add_immediate_transition",&GSPNBuilder::addImmediateTransition,"Add an immediate transition to the GSPN","priority"_a=0,"weight"_a=0,"name"_a="")
.def("add_immediate_transition",&GSPNBuilder::addImmediateTransition,"Add an immediate transition to the GSPN","priority"_a=0,"weight"_a=0,"name"_a="")
.def("add_timed_transition",py::overload_cast<uint_fast64_tconst&,doubleconst&,std::stringconst&>(&GSPNBuilder::addTimedTransition),"Add a timed transition to the GSPN","priority"_a,"rate"_a,"name"_a="")
.def("add_timed_transition",py::overload_cast<uint_fast64_tconst&,doubleconst&,boost::optional<uint64_t>const&,std::stringconst&>(&GSPNBuilder::addTimedTransition),"Add a timed transition to the GSPN","priority"_a,"rate"_a,"numServers"_a,"name"_a="")
.def("add_input_arc",py::overload_cast<uint_fast64_tconst&,uint_fast64_tconst&,uint_fast64_tconst&>(&GSPNBuilder::addInputArc),"from"_a,"to"_a,"multiplicity"_a=1,"Add a new input arc from a place to an transition")
.def("add_input_arc",py::overload_cast<std::stringconst&,std::stringconst&,uint64_t>(&GSPNBuilder::addInputArc),"from"_a,"to"_a,"multiplicity"_a=1,"Add a new input arc from a place to an transition")
.def("add_inhibition_arc",py::overload_cast<uint_fast64_tconst&,uint_fast64_tconst&,uint_fast64_tconst&>(&GSPNBuilder::addInhibitionArc),"from"_a,"to"_a,"multiplicity"_a=1,"Add an new input arc from a place to an transition")
.def("add_inhibition_arc",py::overload_cast<std::stringconst&,std::stringconst&,uint64_t>(&GSPNBuilder::addInhibitionArc),"from"_a,"to"_a,"multiplicity"_a=1,"Add a new input arc from a place to an transition")
.def("add_output_arc",py::overload_cast<uint_fast64_tconst&,uint_fast64_tconst&,uint_fast64_tconst&>(&GSPNBuilder::addOutputArc),"from"_a,"to"_a,"multiplicity"_a=1,"Add a new output arc from a place to an transition")
@ -79,16 +120,33 @@ void define_gspn(py::module& m) {
.def("get_number_of_immediate_transitions",&GSPN::getNumberOfImmediateTransitions,"Get the number of immediate transitions in this GSPN")
.def("get_number_of_timed_transitions",&GSPN::getNumberOfTimedTransitions,"Get the number of timed transitions in this GSPN")
.def("get_place",[](GSPNconst&g,uint64_tid)->constPlace&{return*(g.getPlace(id));},"id"_a,"Returns the place with the corresponding id")
.def("get_place",[](GSPNconst&g,std::stringconst&name)->constPlace&{return*(g.getPlace(name));},"name"_a,"Returns the place with the corresponding name")
.def("get_timed_transition",[](GSPNconst&g,std::stringconst&name)->constTimedTransition&{return*(g.getTimedTransition(name));},"name"_a,"Returns the timed transition with the corresponding name")
.def("get_immediate_transition",[](GSPNconst&g,std::stringconst&name)->constImmediateTransition&{return*(g.getImmediateTransition(name));},"name"_a,"Returns the immediate transition with the corresponding name")
.def("get_transition",[](GSPNconst&g,std::stringconst&name)->constTransition&{return*(g.getTransition(name));},"name"_a,"Returns the transition with the corresponding name")
.def("get_partitions",&GSPN::getPartitions,"Get the partitions of this GSPN")
.def("get_places",&GSPN::getPlaces,"Get the places of this GSPN")
.def("get_timed_transitions",&GSPN::getTimedTransitions,"Get the timed transitions of this GSPN")
.def("get_immediate_transitions",&GSPN::getImmediateTransitions,"Get the immediate transitions of this GSPN")