---
name: "m17nObject"
section: "3m17n"
platform: "linux"
package: "m17n-docs"
version: "1.8.4-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/m17nObject"
---

# m17nObject(3m17n)

\- Objects managed by the reference count

## NAME

m17nObject\_-\_Managed\_Ob -  - Objects managed by the reference count \

## SYNOPSIS

### Data Structures

struct **M17NObjectHead**\
 The first member of a managed object.

### Functions

void \* **m17n\_object** (int size, void(\*freer)(void \*))\
 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

The first member of a managed object.

**FIELD DOCUMENTATION:**

**void\* M17NObjectHead::filler\[2\]** Hidden from applications.

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