Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Structures | Macros | Functions
afw_object_composite.c File Reference

Mutable composite object implementation. More...

#include "afw_internal.h"
#include "afw_object_impl_declares.h"

Go to the source code of this file.

Data Structures

struct  impl_get_next_property_iterator_t
 

Macros

#define impl_afw_object_get_meta    afw_object_impl_internal_get_meta
 
#define impl_afw_object_get_property_meta    afw_object_impl_internal_get_property_meta
 
#define impl_afw_object_get_next_property_meta    afw_object_impl_internal_get_next_property_meta
 
#define AFW_IMPLEMENTATION_ID   "composite"
 
#define IMPL_ASSERT_MUTABLE(instance, xctx)
 

Functions

 afw_object_create_composite (afw_boolean_t mutable, const afw_pool_t *p, afw_xctx_t *xctx,...)
 Create a composite of immutable objects. More...
 
void impl_afw_object_release (const afw_object_t *instance, afw_xctx_t *xctx)
 
void impl_afw_object_add_reference (const afw_object_t *instance, afw_xctx_t *xctx)
 
afw_size_t impl_afw_object_get_count (const afw_object_t *instance, afw_xctx_t *xctx)
 
const afw_value_timpl_afw_object_get_property (const afw_object_t *instance, const afw_utf8_t *property_name, afw_xctx_t *xctx)
 
const afw_value_timpl_afw_object_get_next_property (const afw_object_t *instance, const afw_iterator_t **iterator, const afw_utf8_t **property_name, afw_xctx_t *xctx)
 
afw_boolean_t impl_afw_object_has_property (const afw_object_t *instance, const afw_utf8_t *property_name, afw_xctx_t *xctx)
 
const afw_object_setter_timpl_afw_object_get_setter (const afw_object_t *instance, afw_xctx_t *xctx)
 

Detailed Description

Mutable composite object implementation.

Definition in file afw_object_composite.c.

Macro Definition Documentation

◆ IMPL_ASSERT_MUTABLE

#define IMPL_ASSERT_MUTABLE (   instance,
  xctx 
)
Value:
if (!(instance)->p) {\
AFW_THROW_ERROR_Z(general, \
"Can not set meta in a const object", xctx); \
}

Definition at line 33 of file afw_object_composite.c.