SvvInternalAction(SvvInternalStringMapIterator, GetNext, void) { while(1) { if(!IS_NOTHING(Receiver->element)) { SvvInternalStringMapIteratorElement_Destroy(Receiver->element); }; if(SvvInternalStack_IsEmpty(Receiver->path)) { Receiver->element = OBJECT_AS_LINK(SvvInternalNothing); break; } else { Receiver->element = OBJECT_AS_LINK(SvvInternalStack_Pop(Receiver->path)); SvvInternalInjectionIterator iterator = SvvInternalInjection_GetIterator(Receiver->element->node->next_char); while(!SvvInternalInjectionIterator_EndReached(iterator)) { SvvInternalStringMapIteratorElement element = SvvInternalStringMapIteratorElement_Create(); element->node = OBJECT_AS_LINK(SvvInternalInjectionIterator_GetValue(iterator)); element->string = SvvInternalString_Clone(Receiver->element->string); SvvInternalString_CharAppend(element->string, OBJECT_AS_CHAR(SvvInternalInjectionIterator_GetKey(iterator))); SvvInternalStack_Push(Receiver->path, LINK_AS_OBJECT(element)); SvvInternalInjectionIterator_GetNext(iterator); }; SvvInternalInjectionIterator_Destroy(iterator); if(SvvInternalStringMapNode_IsMapped(Receiver->element->node)) { break; }; }; }; };
void test_unsigned(void) { long long int a_ = JUST(10U); long long int b_ = JUST(0U); long long int c_ = JUST((unsigned int)-1); long long int d_ = NOTHING; long long int f_ = JUST(0ULL); long long int g_ = JUST(1ULL); long long int h_ = JUST(-1ULL); long long int i_ = NOTHING; assert(IS_JUST(a_)); assert(IS_JUST(b_)); assert(IS_JUST(c_)); assert(IS_NOTHING(d_)); assert(IS_JUST(f_)); assert(IS_JUST(g_)); assert(IS_JUST(h_)); assert(IS_NOTHING(i_)); }
SvvInternalAction(SvvInternalStringSetNode, UnSet, void) { Receiver->flags &= ~SET_FLAG; while((!SvvInternalStringSetNode_IsSet(Receiver)) && (SvvInternalInjection_GetCapacity(Receiver->next_char) == 0)) { SvvInternalStringSetNode node = Receiver->parent; if(!IS_NOTHING(node)) { SvvInternalStringSetNode_Destroy(Receiver); SvvInternalInjection_RemoveValue(node->next_char, LINK_AS_OBJECT(Receiver)); }; Receiver = node; }; };
SvvInternalAction(SvvInternalStringSetIterator, EndReached, int) { return IS_NOTHING(Receiver->element); };
SvvInternalAction(SvvInternalInjectionIterator, EndReached, int) { return IS_NOTHING(Receiver->node); };