mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| //===-- StringExtras.h - Useful string functions -----------------*- C++ -*--=//
 | |
| //
 | |
| // This file contains some functions that are useful when dealing with strings.
 | |
| // No library is required when using these functinons.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #ifndef LLVM_TOOLS_STRING_EXTRAS_H
 | |
| #define LLVM_TOOLS_STRING_EXTRAS_H
 | |
| 
 | |
| #include <string>
 | |
| #include "llvm/Tools/DataTypes.h"
 | |
| 
 | |
| static inline string utostr(uint64_t X, bool isNeg = false) {
 | |
|   char Buffer[40];
 | |
|   char *BufPtr = Buffer+39;
 | |
| 
 | |
|   *BufPtr = 0;                  // Null terminate buffer...
 | |
|   if (X == 0) *--BufPtr = '0';  // Handle special case...
 | |
| 
 | |
|   while (X) {
 | |
|     *--BufPtr = '0' + (X % 10);
 | |
|     X /= 10;
 | |
|   }
 | |
| 
 | |
|   if (isNeg) *--BufPtr = '-';   // Add negative sign...
 | |
| 
 | |
|   return string(BufPtr);
 | |
| }
 | |
| 
 | |
| static inline string itostr(int64_t X) {
 | |
|   if (X < 0) 
 | |
|     return utostr((uint64_t)-X, true);
 | |
|   else
 | |
|     return utostr((uint64_t)X);
 | |
| }
 | |
| 
 | |
| 
 | |
| static inline string utostr(unsigned X, bool isNeg = false) {
 | |
|   char Buffer[20];
 | |
|   char *BufPtr = Buffer+19;
 | |
| 
 | |
|   *BufPtr = 0;                  // Null terminate buffer...
 | |
|   if (X == 0) *--BufPtr = '0';  // Handle special case...
 | |
| 
 | |
|   while (X) {
 | |
|     *--BufPtr = '0' + (X % 10);
 | |
|     X /= 10;
 | |
|   }
 | |
| 
 | |
|   if (isNeg) *--BufPtr = '-';   // Add negative sign...
 | |
| 
 | |
|   return string(BufPtr);
 | |
| }
 | |
| 
 | |
| static inline string itostr(int X) {
 | |
|   if (X < 0) 
 | |
|     return utostr((unsigned)-X, true);
 | |
|   else
 | |
|     return utostr((unsigned)X);
 | |
| }
 | |
| 
 | |
| #endif
 |