Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

m17nobject(3m17n) [debian man page]

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

m17n_object(3m17n)						 The m17n Library						m17n_object(3m17n)

NAME
m17n_object - Allocate a managed object. SYNOPSIS
void* m17n_object (int size, void(*)(void *) freer) DESCRIPTION
Allocate a managed object. The m17n_object() function allocates a new managed object of size bytes and sets its reference count to 1. freer is the function that is used to free the object when the reference count becomes 0. If freer is NULL, the object is freed by the free() function. The heading bytes of the allocated object is occupied by M17NObjectHead. That area is reserved for the m17n library and application programs should never touch it. RETURN VALUE
This function returns a newly allocated object. ERRORS
This function never fails. Example: typedef struct { M17NObjectHead head; int mem1; char *mem2; } MYStruct; void my_freer (void *obj) { free (((MYStruct *) obj)->mem2); free (obj); } void my_func (MText *mt, MSymbol key, int num, char *str) { MYStruct *st = m17n_object (sizeof (MYStruct), my_freer); st->mem1 = num; st->mem2 = strdup (str); /* KEY must be a managing key. */ mtext_put_prop (mt, 0, mtext_len (mt), key, st); /* This sets the reference count of ST back to 1. */ m17n_object_unref (st); } 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 m17n_object(3m17n)
Man Page