From a3030f985a973b3b835645313fdad1a8a72ff432 Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Sat, 13 Dec 2014 14:13:58 -0800
Subject: Added iterator interface to API, removed cmark_walk.

* Added `iterator.c`, `iterator.h`.
* Removed `cmark_walk`.
* Replaced `cmark_walk` with iterator in HTML renderer.
* Replaced API test for `cmark_walk` with simple iterator test.
---
 man/man3/cmark.3 | 50 +++++++++++++++++++++++++++++---------------------
 1 file changed, 29 insertions(+), 21 deletions(-)

(limited to 'man/man3/cmark.3')

diff --git a/man/man3/cmark.3 b/man/man3/cmark.3
index 4a28e4a..62d89e2 100644
--- a/man/man3/cmark.3
+++ b/man/man3/cmark.3
@@ -4,7 +4,9 @@
 .B cmark
 \- CommonMark parsing, manipulating, and rendering
 
-.SH SIMPLE INTERFACE
+.SH DESCRIPTION
+
+.SS Simple Interface
 
 .nf
 \f[C]
@@ -24,7 +26,7 @@ Convert \fItext\fR (assumed to be a UTF-8 encoded string with length
 \fIlen\fR from CommonMark Markdown to HTML, returning a null-terminated,
 UTF-8-encoded string.
 
-.SH NODE STRUCTURE
+.SS Node Structure
 
 .nf
 \f[C]
@@ -95,7 +97,7 @@ typedef enum {
 .PP
 
 
-.SH CREATING AND DESTROYING NODES
+.SS Creating and Destroying Nodes
 
 \fIcmark_node*\fR \fBcmark_node_new\fR(\fIcmark_node_type type\fR)
 
@@ -109,7 +111,7 @@ typedef enum {
 
 .PP
 
-.SH TREE TRAVERSAL
+.SS Tree Traversal
 
 \fIcmark_node*\fR \fBcmark_node_previous\fR(\fIcmark_node *node\fR)
 
@@ -128,7 +130,26 @@ typedef enum {
 .PP
 
 
-.SH ACCESSORS
+.SS Iterator
+
+\fIcmark_iter*\fR \fBcmark_iter_new\fR(\fIcmark_node *root\fR)
+
+.PP
+
+\fIvoid\fR \fBcmark_iter_free\fR(\fIcmark_iter *iter\fR)
+
+.PP
+
+\fIcmark_event_type\fR \fBcmark_iter_next\fR(\fIcmark_iter *iter\fR)
+
+.PP
+
+\fIcmark_node*\fR \fBcmark_iter_get_node\fR(\fIcmark_iter *iter\fR)
+
+.PP
+
+
+.SS Accessors
 
 \fIcmark_node_type\fR \fBcmark_node_get_type\fR(\fIcmark_node *node\fR)
 
@@ -211,7 +232,7 @@ typedef enum {
 .PP
 
 
-.SH TREE MANIPULATION
+.SS Tree Manipulation
 
 \fIvoid\fR \fBcmark_node_unlink\fR(\fIcmark_node *node\fR)
 
@@ -234,7 +255,7 @@ typedef enum {
 .PP
 
 
-.SH PARSING
+.SS Parsing
 
 \fIcmark_parser *\fR \fBcmark_parser_new\fR(\fI\fR)
 
@@ -261,7 +282,7 @@ typedef enum {
 .PP
 
 
-.SH RENDERING
+.SS Rendering
 
 \fIchar *\fR \fBcmark_render_ast\fR(\fIcmark_node *root\fR)
 
@@ -271,19 +292,6 @@ typedef enum {
 
 .PP
 
-\fIint\fR \fBcmark_walk\fR(\fIcmark_node *root\fR, \fIcmark_node_handler handler\fR, \fIvoid *state\fR)
-
-.PP
-Walks the tree starting from root, applying handler to each node.
-Nodes that can have children are visited twice, once on the way in
-and once on the way out.  handler is a function that takes a node
-pointer, a cmark_event_type,
-and a pointer to a state structure that can be consulted and
-updated by the handler.  The handler should return 1 on success,
-0 on failure.  cmark_walk returns 1 if it traversed the entire
-tree, 0 if it quit early in response to a 0 status from the
-handler.
-
 .SH AUTHORS
 
 John MacFarlane, Vicent Marti,  Kārlis Gaņģis, Nick Wellnhofer.
-- 
cgit v1.2.3