Bindings: Add a method for iterating in lexicographically sorted order
This commit is contained in:
		
							parent
							
								
									b1f001538e
								
							
						
					
					
						commit
						54801ed6ad
					
				
					 4 changed files with 28 additions and 28 deletions
				
			
		|  | @ -998,12 +998,9 @@ static void prim_attrNames(EvalState & state, const Pos & pos, Value * * args, V | |||
| 
 | ||||
|     state.mkList(v, args[0]->attrs->size()); | ||||
| 
 | ||||
|     unsigned int n = 0; | ||||
|     for (auto & i : *args[0]->attrs) | ||||
|         mkString(*(v.listElems()[n++] = state.allocValue()), i.name); | ||||
| 
 | ||||
|     std::sort(v.listElems(), v.listElems() + n, | ||||
|         [](Value * v1, Value * v2) { return strcmp(v1->string.s, v2->string.s) < 0; }); | ||||
|     size_t n = 0; | ||||
|     for (auto & i : args[0]->attrs->lexicographicOrder()) | ||||
|         mkString(*(v.listElems()[n++] = state.allocValue()), i->name); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue