Managed Object(3m17n) The m17n Library Managed Object(3m17n)NAME
Managed_Object - Objects managed by the reference count.
Data Structures
struct M17NObjectHead
The first member of a managed object.
Functions
void * m17n_object (int size, void(*freer)(void *))
Allocate a managed object.
int m17n_object_ref (void *object)
Increment the reference count of a managed object.
int m17n_object_unref (void *object)
Decrement the reference count of a managed object.
Detailed Description
Objects managed by the reference count.
Managed objects are objects managed by the reference count.
There are some types of m17n objects that are managed by their reference count. Those objects are called managed objects. When created, the
reference count of a managed object is initialized to one. The m17n_object_ref() function increments the reference count of a managed
object by one, and the m17n_object_unref() function decrements by one. A managed object is automatically freed when its reference count
becomes zero.
A property whose key is a managing key can have only a managed object as its value. Some functions, for instance msymbol_put() and
mplist_put(), pay special attention to such a property.
In addition to the predefined managed object types, users can define their own managed object types. See the documentation of the
m17n_object() for more details.
Author
Generated automatically by Doxygen for The m17n Library from the source code.
Data Structure Documentation
M17NObjectHead
FIELD DOCUMENTATION:
void* M17NObjectHead::filler[2]
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>.
Version 1.6.2 12 Jan 2011 Managed Object(3m17n)
Check Out this Related Man Page
Property List(3m17n) The m17n Library Property List(3m17n)NAME
Property_List - Property List objects and API for them.
Typedefs
typedef struct MPlist MPlist
Type of property list objects.
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
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))
Typedef Documentation
typedef struct MPlist MPlist
Type of property list objects. The type MPlist is for a property list object. Its internal structure is concealed from application
programs.
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>.
Version 1.6.2 12 Jan 2011 Property List(3m17n)