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.
		
		
		
		
			
				
					81 lines
				
				2.8 KiB
			
		
		
			
		
	
	
					81 lines
				
				2.8 KiB
			| 
								 
											6 years ago
										 
									 | 
							
								<class name = "ztrie" state = "draft">
							 | 
						||
| 
								 | 
							
								    <!--
							 | 
						||
| 
								 | 
							
								    Copyright (c) the Contributors as noted in the AUTHORS file.
							 | 
						||
| 
								 | 
							
								    This file is part of CZMQ, the high-level C binding for 0MQ:
							 | 
						||
| 
								 | 
							
								    http://czmq.zeromq.org.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    This Source Code Form is subject to the terms of the Mozilla Public
							 | 
						||
| 
								 | 
							
								    License, v. 2.0. If a copy of the MPL was not distributed with this
							 | 
						||
| 
								 | 
							
								    file, You can obtain one at http://mozilla.org/MPL/2.0/.
							 | 
						||
| 
								 | 
							
								    -->
							 | 
						||
| 
								 | 
							
								    simple trie for tokenizable strings
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <callback_type name = "destroy_data_fn">
							 | 
						||
| 
								 | 
							
								        Callback function for ztrie_node to destroy node data.
							 | 
						||
| 
								 | 
							
								        <argument name = "data" type = "anything" by_reference = "1" />
							 | 
						||
| 
								 | 
							
								    </callback_type>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <constructor>
							 | 
						||
| 
								 | 
							
								        Creates a new ztrie.
							 | 
						||
| 
								 | 
							
								        <argument name = "delimiter" type = "char" />
							 | 
						||
| 
								 | 
							
								    </constructor>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <destructor>
							 | 
						||
| 
								 | 
							
								        Destroy the ztrie.
							 | 
						||
| 
								 | 
							
								    </destructor>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <method name = "insert route">
							 | 
						||
| 
								 | 
							
								        Inserts a new route into the tree and attaches the data. Returns -1
							 | 
						||
| 
								 | 
							
								        if the route already exists, otherwise 0. This method takes ownership of
							 | 
						||
| 
								 | 
							
								        the provided data if a destroy_data_fn is provided.
							 | 
						||
| 
								 | 
							
								        <argument name = "path" type = "string" />
							 | 
						||
| 
								 | 
							
								        <argument name = "data" type = "anything" />
							 | 
						||
| 
								 | 
							
								        <argument name = "destroy_data_fn" type = "ztrie_destroy_data_fn" callback = "1" />
							 | 
						||
| 
								 | 
							
								        <return type = "integer" />
							 | 
						||
| 
								 | 
							
								    </method>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <method name = "remove route">
							 | 
						||
| 
								 | 
							
								        Removes a route from the trie and destroys its data. Returns -1 if the
							 | 
						||
| 
								 | 
							
								        route does not exists, otherwise 0.
							 | 
						||
| 
								 | 
							
								        the start of the list call zlist_first (). Advances the cursor.
							 | 
						||
| 
								 | 
							
								        <argument name = "path" type = "string" />
							 | 
						||
| 
								 | 
							
								        <return type = "integer" />
							 | 
						||
| 
								 | 
							
								    </method>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <method name = "matches">
							 | 
						||
| 
								 | 
							
								        Returns true if the path matches a route in the tree, otherwise false.
							 | 
						||
| 
								 | 
							
								        <argument name = "path" type = "string" />
							 | 
						||
| 
								 | 
							
								        <return type = "boolean" />
							 | 
						||
| 
								 | 
							
								    </method>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <method name = "hit data">
							 | 
						||
| 
								 | 
							
								        Returns the data of a matched route from last ztrie_matches. If the path
							 | 
						||
| 
								 | 
							
								        did not match, returns NULL. Do not delete the data as it's owned by
							 | 
						||
| 
								 | 
							
								        ztrie.
							 | 
						||
| 
								 | 
							
								        <return type = "anything" />
							 | 
						||
| 
								 | 
							
								    </method>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <method name = "hit parameter count">
							 | 
						||
| 
								 | 
							
								        Returns the count of parameters that a matched route has.
							 | 
						||
| 
								 | 
							
								        <return type = "size" />
							 | 
						||
| 
								 | 
							
								    </method>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <method name = "hit parameters">
							 | 
						||
| 
								 | 
							
								        Returns the parameters of a matched route with named regexes from last
							 | 
						||
| 
								 | 
							
								        ztrie_matches. If the path did not match or the route did not contain any
							 | 
						||
| 
								 | 
							
								        named regexes, returns NULL.
							 | 
						||
| 
								 | 
							
								        <return type = "zhashx" />
							 | 
						||
| 
								 | 
							
								    </method>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <method name = "hit asterisk match">
							 | 
						||
| 
								 | 
							
								        Returns the asterisk matched part of a route, if there has been no match
							 | 
						||
| 
								 | 
							
								        or no asterisk match, returns NULL.
							 | 
						||
| 
								 | 
							
								        <return type = "string" />
							 | 
						||
| 
								 | 
							
								    </method>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <method name = "print">
							 | 
						||
| 
								 | 
							
								        Print the trie
							 | 
						||
| 
								 | 
							
								    </method>
							 | 
						||
| 
								 | 
							
								</class>
							 | 
						||
| 
								 | 
							
								
							 |