-- Generated output by AranhaDoc parsing docexample.lua -*- Lua -*-

Documenter:MergeDocs {
   filename = "docexample.lua",
   summary = "Documentation examples",
   description = "The purpose of this file is to show some examples of documentation styles so that we can play with how to document Aranha modules etc.",
   author = "Daniel Silverstone <dsilvers@debian.org>",
   url = "http://aranha.pepperfish.net/docs/",
   contents = {
      ["escapeEntities"] = {
	 "function",
	 "Escape a string using HTML entities",
	 "Much of HTML needs escaping, especially when passing form values around across reloads. This function does that for you",
	 params = {
	    { "str", { "string" }, "The string to escape" }
	 },
	 returns = {
	    { "estr", { "string" }, "The string having had HTML escapes applied to it." }
	 }
      },
      ["entities"] = {
	 "variable",
	 "The table of escapes used by escapeEntities",
	 "The entries are processed in order"
      },
      ["ListNode"] = {
	 "class",
	 "The component part of the List class",
	 "A ListNode contains references to the next and previous nodes in the List. It also contains a value for that node.",
	 contents = {
	    ["GetNext"] = {
	       "method",
	       "Return the next ListNode in the List",
	       "",
	       returns = {
		  { "node", { "ListNode", "nil" }, "Returns nil if this is the last ListNode" }
	       }
	    },
	    ["GetPrev"] = {
	       "method",
	       "Return the previous ListNode in the List",
	       "",
	       returns = {
		  { "node", { "ListNode", "nil" }, "Returns nil if this is the first ListNode" }
	       }
	    },
	    ["GetValue"] = {
	       "method",
	       "Return the value of this ListNode",
	       "",
	       returns = {
		  { "value", { "*" }, "The value of the ListNode could be of any type including nil" }
	       }
	    }
	 }
      },
      ["List"] = {
	 "class",
	 "Doubly linked list",
	 "A List object contains a doubly linked list of ListNode objects.",
	 contents = {
	    ["Constructor"] = {
	       "constructor",
	       "The List object will be empty when first created",
	       ""
	    },
	    ["Remove"] = {
	       "method",
	       "Remove the specified node from the list",
	       { "Note that strange and wonderful (read dangerous and undefined) things may happen if you try to remove a ListNode from a List which does not own it.", Paragraph, "Note that this function will also (quite deliberately) trash the supplied ListNode object so if you need its value, call ListNode:GetValue() on it before you remove it from the list." },
	       params = {
		  { "node", { "ListNode" }, "The node to remove." }
	       }
	    }
	 }
      }
   }
}