Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Macros | Functions | Variables
afw_data_type_any_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_any_direct
 
#define AFW_IMPLEMENTATION_INF_VARIABLES
 
#define AFW_IMPLEMENTATION_ID   "any"
 
#define AFW_IMPLEMENTATION_INF_SPECIFIER   AFW_DEFINE_CONST_DATA
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_evaluated_any_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_any"
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_managed_any_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_any"
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_permanent_any_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_any (const afw_object_t *object, const afw_utf8_t *property_name, const afw_value_t *internal, afw_xctx_t *xctx)
 Set property function for data type any values. More...
 
 afw_value_as_any (const afw_value_t *value, afw_xctx_t *xctx)
 Typesafe cast of data type any. More...
 
 afw_value_allocate_any (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for unmanaged data type any value. More...
 
 afw_value_create_any (const afw_value_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for unmanaged data type any value. More...
 
 afw_value_allocate_managed_any (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for managed data type any value. More...
 
 afw_value_create_managed_any (const afw_value_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for managed data type any value. More...
 
 afw_value_allocate_permanent_any (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for permanent data type any value. More...
 
 afw_value_create_permanent_any (const afw_value_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for permanent data type any value. More...
 
 afw_data_type_any_to_internal (const afw_value_t **to_internal, const afw_utf8_t *from_utf8, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert data type any string to const afw_value_t * *. More...
 
 afw_data_type_any_to_utf8 (const afw_value_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert data type any internal representation to utf-8. More...
 
 afw_object_get_property_as_any_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 any value. More...
 
 afw_object_get_next_property_as_any_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 any 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_any_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 any. More...
 
 afw_list_of_any_add (const afw_list_t *instance, const afw_value_t *value, afw_xctx_t *xctx)
 Add value from list of any. More...
 
 afw_list_of_any_remove (const afw_list_t *instance, const afw_value_t *value, afw_xctx_t *xctx)
 Remove value from list of any. More...
 

Variables

 afw_data_type_any_id_value
 
 impl_empty_list_of_any
 
 impl_value_empty_list_of_any
 
 afw_data_type_any_direct
 
 afw_data_type_any
 

Detailed Description

Adaptive Framework core data types.

Definition in file afw_data_type_any_binding.c.

Macro Definition Documentation

◆ AFW_IMPLEMENTATION_INF_VARIABLES

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

Definition at line 73 of file afw_data_type_any_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_any_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_any_binding.c.

Variable Documentation

◆ afw_data_type_any

afw_data_type_any
Initial value:

Definition at line 205 of file afw_data_type_any_binding.c.

◆ afw_data_type_any_direct

afw_data_type_any_direct
Initial value:
= {
(const afw_object_t *)&impl_data_type_object_any,
AFW_UTF8_LITERAL("Any value is allowed"),
AFW_UTF8_LITERAL("Any value can be assigned as the value of data type \"any\". The actual data type is the data type of the value. Data type \"implied\" is preferred over data type \"any\" since \"any\" only detects type check errors during evaluation."),
afw_data_type_number_any,
AFW_UTF8_LITERAL("const afw_value_t *"),
sizeof(const afw_value_t *),
(const afw_list_t *)&impl_empty_list_of_any,
(const afw_value_t *)&impl_value_empty_list_of_any,
afw_compile_type_error,
false,
false,
true,
false,
false
}
afw_value_evaluated_any_inf
Unmanaged evaluated value inf for data type any.
afw_data_type_any_inf
extern for data type any 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_any_binding.c.

◆ afw_data_type_any_id_value

afw_data_type_any_id_value
Initial value:
=
{
(const afw_value_t *)&impl_data_type_any_id_value
}

Definition at line 128 of file afw_data_type_any_binding.c.

◆ impl_empty_list_of_any

impl_empty_list_of_any
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_any_binding.c.

◆ impl_value_empty_list_of_any

impl_value_empty_list_of_any
Initial value:
= {
(const afw_list_t *)&impl_empty_list_of_any
}
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_any_binding.c.