Provided by: m17n-docs_1.8.3-1_all bug

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