Provided by: m17n-docs_1.8.3-1_all
NAME
m17nPlist - Property List
SYNOPSIS
Functions MPlist * mplist_deserialize (MText *mt) Generate a property list by deserializing an M-text. MPlist * mplist (void) Create a property list object. MPlist * mplist_copy (MPlist *plist) Copy a property list. MPlist * mplist_put (MPlist *plist, MSymbol key, void *val) Set the value of a property in a property list. void * mplist_get (MPlist *plist, MSymbol key) Get the value of a property in a property list. MPlist * mplist_put_func (MPlist *plist, MSymbol key, M17NFunc func) Set the value (function pointer) of a property in a property list. M17NFunc mplist_get_func (MPlist *plist, MSymbol key) Get the value (function pointer) of a property in a property list. MPlist * mplist_add (MPlist *plist, MSymbol key, void *val) Add a property at the end of a property list. MPlist * mplist_push (MPlist *plist, MSymbol key, void *val) Add a property at the beginning of a property list. void * mplist_pop (MPlist *plist) Remove a property at the beginning of a property list. MPlist * mplist_find_by_key (MPlist *plist, MSymbol key) Find a property of a specific key in a property list. MPlist * mplist_find_by_value (MPlist *plist, void *val) Find a property of a specific value in a property list. MPlist * mplist_next (MPlist *plist) Return the next sublist of a property list. MPlist * mplist_set (MPlist *plist, MSymbol key, void *val) Set the first property in a property list. int mplist_length (MPlist *plist) Return the length of a property list. MSymbol mplist_key (MPlist *plist) Return the key of the first property in a property list. void * mplist_value (MPlist *plist) Return the value of the first property in a property list. Variables MSymbol Minteger Symbol whose name is 'integer'. MSymbol Mplist Symbol whose name is 'plist'. MSymbol Mtext Symbol whose name is 'mtext'.
Detailed Description
@addtogroup m17nPlist @brief Property List objects and API for them. A @e property @e list (or @e plist for short) is a list of zero or more properties. A property consists of a @e key and a @e value, where key is a symbol and value is anything that can be cast to <tt>(void *)</tt>. If the key of a property is a @e managing @e key, its @e value is a @e managed @e object. A property list itself is a managed objects. If each key of a plist is one of #Msymbol, #Mtext, #Minteger, and #Mplist, the plist is called as @e well-formed and represented by the following notation in the documentation. PLIST ::= '(' ELEMENT * ')' ELEMENT ::= INTEGER | SYMBOL | M-TEXT | PLIST M-TEXT ::= '"' text data ... '"' For instance, if a plist has four elements; integer -20, symbol of name "sym", M-text of contents "abc", and plist of integer 10 and symbol of name "another-symbol", it is represented as this: (-20 sym "abc" (10 another-symbol))
Variable Documentation
MSymbol Minteger Symbol whose name is 'integer'. The symbol Minteger has the name 'integer'. The value of a property whose key is Minteger must be an integer. MSymbol Mplist Symbol whose name is 'plist'. The symbol Mplist has the name 'plist'. It is a managing key. A value of a property whose key is Mplist must be a plist. MSymbol Mtext Symbol whose name is 'mtext'. The symbol Mtext has the name 'mtext'. It is a managing key. A value of a property whose key is Mtext must be an M-text.
Author
Generated automatically by Doxygen for The m17n Library from the source code.
COPYRIGHT
Copyright (C) 2001 Information-technology Promotion Agency (IPA) Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology (AIST) Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License <http://www.gnu.org/licenses/fdl.html>.