DOKK / manpages / debian 11 / m17n-docs / m17nPlist.3m17n.en
Property List(3m17n) The m17n Library Property List(3m17n)

Property_List - Property List objects and API for them.


typedef struct MPlist MPlist
Type of property list objects.


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.


MSymbol Minteger
Symbol whose name is 'integer'. MSymbol Mplist
Symbol whose name is 'plist'. MSymbol Mtext
Symbol whose name is 'mtext'.

Property List objects and API for them.

A property list (or plist for short) is a list of zero or more properties. A property consists of a key and a value, where key is a symbol and value is anything that can be cast to (void *).

If the key of a property is a managing key, its value is a managed 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 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))

Type of property list objects. The type MPlist is for a property list object. Its internal structure is concealed from application programs.

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.

Generated automatically by Doxygen for The m17n Library from the source code.

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>.

12 Jan 2011 Version 1.6.2