SCIPexpriterSkipDFS

Function SCIPexpriterSkipDFS 

Source
pub unsafe extern "C" fn SCIPexpriterSkipDFS(
    iterator: *mut SCIP_EXPRITER,
) -> *mut SCIP_EXPR
Expand description

moves a DFS iterator to one of the next expressions

  • If in \ref SCIP_EXPRITER_ENTEREXPR stage, then all children of that expression will be skipped. If \ref SCIP_EXPRITER_LEAVEEXPR is one of the stopstages, then it will be the next stage. Otherwise, the iterator will move further on (go to the parent, etc).
  • If in \ref SCIP_EXPRITER_VISITINGCHILD stage, then the child that was going to be visited next will be skipped and the iterator will be moved on to the next child (if any).
  • If in \ref SCIP_EXPRITER_VISITEDCHILD stage, then all remaining children will be skipped and we move on to the \ref SCIP_EXPRITER_LEAVEEXPR stage (if a stop stage, otherwise further on).
  • It is not allowed to call this function when in \ref SCIP_EXPRITER_LEAVEEXPR stage.

@return the next expression, if any, and NULL otherwise