Adaptive Framework  0.9.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Macros | Functions | Variables
afw_data_type_implied_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_implied_direct
 
#define AFW_IMPLEMENTATION_INF_VARIABLES
 
#define AFW_IMPLEMENTATION_ID   "implied"
 
#define AFW_IMPLEMENTATION_INF_SPECIFIER   AFW_DEFINE_CONST_DATA
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_evaluated_implied_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_implied"
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_managed_implied_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_implied"
 
#define AFW_IMPLEMENTATION_INF_LABEL   afw_value_permanent_implied_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_implied (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 implied values. More...
 
 afw_value_as_implied (const afw_value_t *value, afw_xctx_t *xctx)
 Typesafe cast of data type implied. More...
 
 afw_value_allocate_implied (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for unmanaged data type implied value. More...
 
 afw_value_create_implied (const afw_value_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for unmanaged data type implied value. More...
 
 afw_value_allocate_managed_implied (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for managed data type implied value. More...
 
 afw_value_create_managed_implied (const afw_value_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for managed data type implied value. More...
 
 afw_value_allocate_permanent_implied (const afw_pool_t *p, afw_xctx_t *xctx)
 Allocate function for permanent data type implied value. More...
 
 afw_value_create_permanent_implied (const afw_value_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Create function for permanent data type implied value. More...
 
 afw_data_type_implied_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 implied string to const afw_value_t * *. More...
 
 afw_data_type_implied_to_utf8 (const afw_value_t *internal, const afw_pool_t *p, afw_xctx_t *xctx)
 Convert data type implied internal representation to utf-8. More...
 
 afw_object_get_property_as_implied_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 implied value. More...
 
 afw_object_get_next_property_as_implied_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 implied 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_implied_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 implied. More...
 
 afw_list_of_implied_add (const afw_list_t *instance, const afw_value_t *value, afw_xctx_t *xctx)
 Add value from list of implied. More...
 
 afw_list_of_implied_remove (const afw_list_t *instance, const afw_value_t *value, afw_xctx_t *xctx)
 Remove value from list of implied. More...
 

Variables

 afw_data_type_implied_id_value
 
 impl_empty_list_of_implied
 
 impl_value_empty_list_of_implied
 
 afw_data_type_implied_direct
 
 afw_data_type_implied
 

Detailed Description

Adaptive Framework core data types.

Definition in file afw_data_type_implied_binding.c.

Macro Definition Documentation

◆ AFW_IMPLEMENTATION_INF_VARIABLES

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

Definition at line 73 of file afw_data_type_implied_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_implied_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_implied_binding.c.

Variable Documentation

◆ afw_data_type_implied

afw_data_type_implied
Initial value:

Definition at line 205 of file afw_data_type_implied_binding.c.

◆ afw_data_type_implied_direct

afw_data_type_implied_direct
Initial value:
= {
(const afw_object_t *)&impl_data_type_object_implied,
AFW_UTF8_LITERAL("implied"),
AFW_UTF8_LITERAL("The data type is implied by the value"),
AFW_UTF8_LITERAL("Any value can be assigned as the value of data type \"implied\". The actual data type is the data type of the value. Most \"type check\" errors can be detected during compile to reduce the number of errors detected during evaluation."),
afw_data_type_number_implied,
AFW_UTF8_LITERAL("const afw_value_t *"),
sizeof(const afw_value_t *),
(const afw_list_t *)&impl_empty_list_of_implied,
(const afw_value_t *)&impl_value_empty_list_of_implied,
afw_compile_type_error,
false,
false,
true,
false,
false
}
afw_data_type_implied_inf
extern for data type implied inf.
afw_value_evaluated_implied_inf
Unmanaged evaluated value inf for data type implied.
#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_implied_binding.c.

◆ afw_data_type_implied_id_value

afw_data_type_implied_id_value
Initial value:
=
{
(const afw_value_t *)&impl_data_type_implied_id_value
}

Definition at line 128 of file afw_data_type_implied_binding.c.

◆ impl_empty_list_of_implied

impl_empty_list_of_implied
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_implied_binding.c.

◆ impl_value_empty_list_of_implied

impl_value_empty_list_of_implied
Initial value:
= {
(const afw_list_t *)&impl_empty_list_of_implied
}
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_implied_binding.c.