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

Adaptive Framework core data types. More...

#include "afw.h"
#include "afw_runtime_object_maps.h"
#include "afw_value_internal.h"
#include "afw_value_impl_declares.h"

Go to the source code of this file.

Macros

#define impl_afw_value_get_evaluated_meta    afw_value_internal_get_evaluated_meta_default
 
#define impl_afw_value_get_evaluated_metas    afw_value_internal_get_evaluated_metas_default
 
#define impl_afw_value_optional_evaluate   NULL
 
#define AFW_IMPLEMENTATION_SPECIFIC   (const void *)&afw_data_type_null_direct
 
#define AFW_IMPLEMENTATION_INF_VARIABLES
 
#define AFW_IMPLEMENTATION_ID   "null"
 
#define AFW_IMPLEMENTATION_INF_SPECIFIER   AFW_DEFINE_CONST_DATA
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_evaluated_null_inf
 
#define impl_afw_value_optional_release   NULL
 
#define impl_afw_value_get_reference   impl_afw_value_unmanaged_get_reference
 
#define AFW_IMPLEMENTATION_ID   "managed_null"
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_managed_null_inf
 
#define impl_afw_value_optional_release   impl_afw_value_managed_optional_release
 
#define impl_afw_value_get_reference   impl_afw_value_managed_get_reference
 
#define AFW_VALUE_INF_ONLY   1
 
#define AFW_IMPLEMENTATION_ID   "permanent_null"
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_permanent_null_inf
 
#define impl_afw_value_optional_release   NULL
 
#define impl_afw_value_get_reference   impl_afw_value_permanent_get_reference
 
#define AFW_VALUE_INF_ONLY   1
 

Functions

 impl_afw_value_managed_optional_release (const afw_value_t *instance, afw_xctx_t *xctx)
 
 impl_afw_value_unmanaged_get_reference (const afw_value_t *instance, const afw_pool_t *p, afw_xctx_t *xctx)
 
 impl_afw_value_managed_get_reference (const afw_value_t *instance, const afw_pool_t *p, afw_xctx_t *xctx)
 
 impl_afw_value_permanent_get_reference (const afw_value_t *instance, const afw_pool_t *p, afw_xctx_t *xctx)
 
 afw_object_set_property_as_null (const afw_object_t *object, const afw_utf8_t *property_name, void *internal, afw_xctx_t *xctx)
 Set property function for data type null values. More...
 
 afw_value_as_null (const afw_value_t *value, afw_xctx_t *xctx)
 Typesafe cast of data type null. More...
 
 afw_value_allocate_null (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for unmanaged data type null value. More...
 
 afw_value_create_null (void *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for unmanaged data type null value. More...
 
 afw_value_allocate_managed_null (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for managed data type null value. More...
 
 afw_value_create_managed_null (void *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for managed data type null value. More...
 
 afw_value_allocate_permanent_null (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for permanent data type null value. More...
 
 afw_value_create_permanent_null (void *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for permanent data type null value. More...
 
 afw_data_type_null_to_internal (void **to_internal, const afw_utf8_t *from_utf8, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert data type null string to void * *. More...
 
 afw_data_type_null_to_utf8 (void *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert data type null internal representation to utf-8. More...
 
 afw_object_get_property_as_null_source (const afw_object_t *object, const afw_utf8_t *property_name, const afw_utf8_z_t *source_z, const afw_pool_t *p, afw_xctx_t *xctx)
 Get property function for data type null value. More...
 
 afw_object_get_next_property_as_null_source (const afw_object_t *object, const afw_iterator_t **iterator, const afw_utf8_t **property_name, const afw_utf8_z_t *source_z, const afw_pool_t *p, afw_xctx_t *xctx)
 Get property function for data type null value. More...
 
const afw_data_type_timpl_afw_value_get_data_type (const afw_value_t *instance, afw_xctx_t *xctx)
 
const afw_data_type_timpl_afw_value_get_evaluated_data_type (const afw_value_t *instance, afw_xctx_t *xctx)
 
const afw_utf8_timpl_afw_value_get_evaluated_data_type_parameter (const afw_value_t *instance, afw_xctx_t *xctx)
 
void impl_afw_value_produce_compiler_listing (const afw_value_t *instance, const afw_writer_t *writer, afw_xctx_t *xctx)
 
void impl_afw_value_decompile (const afw_value_t *instance, const afw_writer_t *writer, afw_xctx_t *xctx)
 
void impl_afw_value_get_info (const afw_value_t *instance, afw_value_info_t *info, const afw_pool_t *p, afw_xctx_t *xctx)
 
 afw_list_of_null_get_next_source (const afw_list_t *instance, const afw_iterator_t **iterator, const afw_utf8_z_t *source_z, afw_xctx_t *xctx)
 Get next value from list of null. More...
 
 afw_list_of_null_add (const afw_list_t *instance, const void *value, afw_xctx_t *xctx)
 Add value from list of null. More...
 
 afw_list_of_null_remove (const afw_list_t *instance, const void *value, afw_xctx_t *xctx)
 Remove value from list of null. More...
 

Variables

 afw_data_type_null_id_value
 
 impl_empty_list_of_null
 
 impl_value_empty_list_of_null
 
 afw_data_type_null_direct
 
 afw_data_type_null
 

Detailed Description

Adaptive Framework core data types.

Definition in file afw_data_type_null_binding.c.

Macro Definition Documentation

◆ AFW_IMPLEMENTATION_INF_VARIABLES

#define AFW_IMPLEMENTATION_INF_VARIABLES
Value:
(const void *)&afw_data_type_null_direct, \
afw_data_type_null_direct
extern for data type null struct.

Definition at line 73 of file afw_data_type_null_binding.c.

Function Documentation

◆ impl_afw_value_managed_optional_release()

impl_afw_value_managed_optional_release ( const afw_value_t instance,
afw_xctx_t xctx 
)
Todo:
this needs to release reference of value or free it.

Definition at line 406 of file afw_data_type_null_binding.c.

◆ impl_afw_value_unmanaged_get_reference()

impl_afw_value_unmanaged_get_reference ( const afw_value_t instance,
const afw_pool_t p,
afw_xctx_t xctx 
)
Todo:
this needs to addref or return a copy.

Definition at line 415 of file afw_data_type_null_binding.c.

Variable Documentation

◆ afw_data_type_null

afw_data_type_null
Initial value:

Definition at line 205 of file afw_data_type_null_binding.c.

◆ afw_data_type_null_direct

afw_data_type_null_direct
Initial value:
= {
(const afw_object_t *)&impl_data_type_object_null,
AFW_UTF8_LITERAL("No value"),
AFW_UTF8_LITERAL("Data type null is a special data type that represents no value."),
afw_data_type_number_null,
AFW_UTF8_LITERAL("void *"),
sizeof(void *),
(const afw_list_t *)&impl_empty_list_of_null,
(const afw_value_t *)&impl_value_empty_list_of_null,
afw_compile_type_error,
true,
false,
true,
false,
true
}
afw_value_evaluated_null_inf
Unmanaged evaluated value inf for data type null.
afw_data_type_null_inf
extern for data type null inf.
#define AFW_UTF8_LITERAL(A_STRING)
String literal initializer.
Definition: afw_common.h:582
Interface afw_list public struct.
Interface afw_object public struct.
Interface afw_value public struct.

Definition at line 164 of file afw_data_type_null_binding.c.

◆ afw_data_type_null_id_value

afw_data_type_null_id_value
Initial value:
=
{
(const afw_value_t *)&impl_data_type_null_id_value
}

Definition at line 128 of file afw_data_type_null_binding.c.

◆ impl_empty_list_of_null

impl_empty_list_of_null
Initial value:
= {
0
}
afw_list_wrapper_for_array_inf
inf for afw_list_wrapper_for_array afw_list implementation.
Definition: afw_list.h:254

Definition at line 156 of file afw_data_type_null_binding.c.

◆ impl_value_empty_list_of_null

impl_value_empty_list_of_null
Initial value:
= {
(const afw_list_t *)&impl_empty_list_of_null
}
afw_value_permanent_list_inf
Permanent managed (life of afw environment) value inf for data type list.

Definition at line 160 of file afw_data_type_null_binding.c.