mirror of
				https://github.com/MaskRay/ccls.git
				synced 2025-11-03 22:04:24 +00:00 
			
		
		
		
	refactor CompareLsCompletionItem (#412)
Since not everything is a reference, std::make_tuple() seems more appropriate than std::tie(). For heavy types, std::cref() can be used to preserve the reference.
This commit is contained in:
		
							parent
							
								
									24702a25b0
								
							
						
					
					
						commit
						65d7edd9b9
					
				@ -70,16 +70,12 @@ MAKE_REFLECT_STRUCT(Out_TextDocumentComplete, jsonrpc, id, result);
 | 
			
		||||
 | 
			
		||||
bool CompareLsCompletionItem(const lsCompletionItem& lhs,
 | 
			
		||||
                             const lsCompletionItem& rhs) {
 | 
			
		||||
  bool lhsNotFound = !lhs.found_;
 | 
			
		||||
  bool rhsNotFound = !rhs.found_;
 | 
			
		||||
  const auto lhsFilterTextLength = lhs.filterText.length();
 | 
			
		||||
  const auto lhsLabelLength = lhs.label.length();
 | 
			
		||||
  const auto rhsFilterTextLength = rhs.filterText.length();
 | 
			
		||||
  const auto rhsLabelLength = rhs.label.length();
 | 
			
		||||
  return std::tie(lhsNotFound, lhs.skip_, lhs.priority_, lhsFilterTextLength,
 | 
			
		||||
                  lhs.filterText, lhsLabelLength, lhs.label) <
 | 
			
		||||
         std::tie(rhsNotFound, rhs.skip_, rhs.priority_, rhsFilterTextLength,
 | 
			
		||||
                  rhs.filterText, rhsLabelLength, lhs.label);
 | 
			
		||||
  return std::make_tuple(!lhs.found_, lhs.skip_, lhs.priority_,
 | 
			
		||||
                         lhs.filterText.length(), std::cref(lhs.filterText),
 | 
			
		||||
                         lhs.label.length(), std::cref(lhs.label)) <
 | 
			
		||||
         std::make_tuple(!rhs.found_, rhs.skip_, rhs.priority_,
 | 
			
		||||
                         rhs.filterText.length(), std::cref(rhs.filterText),
 | 
			
		||||
                         rhs.label.length(), std::cref(rhs.label));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
template <typename T>
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user