logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

m17nPlist - Property List

Author

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

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

Name

       m17nPlist - Property List

Synopsis

FunctionsMPlist * 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.
       M17NFuncmplist_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'.

Variable Documentation

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

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

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

See Also