A small menubar app that allows you to switch between R versions quickly (if you have multiple versions of R framework installed).
https://rud.is/rswitch
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.3 KiB
38 lines
1.3 KiB
5 years ago
|
//
|
||
|
// NodeVisitor.swift
|
||
|
// SwiftSoup
|
||
|
//
|
||
|
// Created by Nabil Chatbi on 16/10/16.
|
||
|
// Copyright © 2016 Nabil Chatbi.. All rights reserved.
|
||
|
//
|
||
|
|
||
|
import Foundation
|
||
|
|
||
|
/**
|
||
|
* Node visitor interface. Provide an implementing class to {@link NodeTraversor} to iterate through nodes.
|
||
|
* <p>
|
||
|
* This interface provides two methods, {@code head} and {@code tail}. The head method is called when the node is first
|
||
|
* seen, and the tail method when all of the node's children have been visited. As an example, head can be used to
|
||
|
* create a start tag for a node, and tail to create the end tag.
|
||
|
* </p>
|
||
|
*/
|
||
|
public protocol NodeVisitor {
|
||
|
/**
|
||
|
* Callback for when a node is first visited.
|
||
|
*
|
||
|
* @param node the node being visited.
|
||
|
* @param depth the depth of the node, relative to the root node. E.g., the root node has depth 0, and a child node
|
||
|
* of that will have depth 1.
|
||
|
*/
|
||
|
func head(_ node: Node, _ depth: Int)throws
|
||
|
|
||
|
/**
|
||
|
* Callback for when a node is last visited, after all of its descendants have been visited.
|
||
|
*
|
||
|
* @param node the node being visited.
|
||
|
* @param depth the depth of the node, relative to the root node. E.g., the root node has depth 0, and a child node
|
||
|
* of that will have depth 1.
|
||
|
*/
|
||
|
func tail(_ node: Node, _ depth: Int)throws
|
||
|
}
|