/* ------- code automatically created by ../scripts/adms_build_object.pl -------------- */ #include #include inline void adms_string_free(p_string mystring) { if(!mystring) return; adms_enumeration_free(mystring->_math._dependency); free(mystring->_math._value); adms_quark_free(mystring->_value); adms_global_increment_nbstringdestroy(); free(mystring); } int adms_string_cmp (p_string mystring,p_string refstring) { int status; status = ( !!strcmp(adms_string_valueof_value (mystring)->_value,adms_string_valueof_value (refstring)->_value) ); return status; } p_string adms_string_new(p_quark myvalue) { p_string mynewstring=(p_string) calloc(1,(size_t)sizeof(t_string)); adms_global_increment_nbstringnew(); mynewstring->_math._adms._datatypename=adms_adms_enumeration_datatypename_string; mynewstring->_math._adms._seen=adms_adms_enumeration_seen_no; (mynewstring->_math)._value=adms_real_new(adms_NAN); (mynewstring->_math)._static=adms_enumeration_new(adms_math_enumeration_static_no,adms_math_fromstring_static_impl,adms_math_tostring_static_impl); (mynewstring->_math)._dynamic=adms_enumeration_new(adms_math_enumeration_dynamic_no,adms_math_fromstring_dynamic_impl,adms_math_tostring_dynamic_impl); (mynewstring->_math)._dependency=adms_enumeration_new(adms_math_enumeration_dependency_constant,adms_math_fromstring_dependency_impl,adms_math_tostring_dependency_impl); mynewstring->_value_isdefault=-1; adms_string_valueto_value (mynewstring,myvalue); mynewstring->_value_isdefault=1; return mynewstring; } p_adms adms_string_new_impl (p_adms arguments[]) { p_string mynewstring; p_quark myvalue=adms_quark_new((char*)arguments[0]); mynewstring=adms_string_new(myvalue); return adms_adms(mynewstring); } /*$1*/ char*adms_string_uid (p_string mynewstring) { char*myuid=NULL; char*myuid0=adms_quark_uid(mynewstring->_value); adms_strconcat(&myuid,myuid0); return myuid; } inline void adms_string_valueto_value (p_string mystring,p_quark _value) { if(mystring->_value_isdefault!=-1) adms_quark_free(mystring->_value); mystring->_value=_value; mystring->_value_isdefault=0; }