mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Backport of PEP 3101, Advanced String Formatting, from py3k.
Highlights: - Adding PyObject_Format. - Adding string.Format class. - Adding __format__ for str, unicode, int, long, float, datetime. - Adding builtin format. - Adding ''.format and u''.format. - str/unicode fixups for formatters. The files in Objects/stringlib that implement PEP 3101 (stringdefs.h, unicodedefs.h, formatter.h, string_format.h) are identical in trunk and py3k. Any changes from here on should be made to trunk, and changes will propogate to py3k).
This commit is contained in:
		
							parent
							
								
									e139688d34
								
							
						
					
					
						commit
						a9f7d62480
					
				
					 27 changed files with 3873 additions and 23 deletions
				
			
		
							
								
								
									
										27
									
								
								Objects/stringlib/stringdefs.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								Objects/stringlib/stringdefs.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,27 @@ | |||
| #ifndef STRINGLIB_STRINGDEFS_H | ||||
| #define STRINGLIB_STRINGDEFS_H | ||||
| 
 | ||||
| /* this is sort of a hack.  there's at least one place (formatting
 | ||||
|    floats) where some stringlib code takes a different path if it's | ||||
|    compiled as unicode. */ | ||||
| #define STRINGLIB_IS_UNICODE     0 | ||||
| 
 | ||||
| #define STRINGLIB_OBJECT         PyStringObject | ||||
| #define STRINGLIB_CHAR           char | ||||
| #define STRINGLIB_TYPE_NAME      "string" | ||||
| #define STRINGLIB_PARSE_CODE     "S" | ||||
| #define STRINGLIB_EMPTY          nullstring | ||||
| #define STRINGLIB_ISDECIMAL(x)   ((x >= '0') && (x <= '9')) | ||||
| #define STRINGLIB_TODECIMAL(x)   (STRINGLIB_ISDECIMAL(x) ? (x - '0') : -1) | ||||
| #define STRINGLIB_TOUPPER        toupper | ||||
| #define STRINGLIB_TOLOWER        tolower | ||||
| #define STRINGLIB_FILL           memset | ||||
| #define STRINGLIB_STR            PyString_AS_STRING | ||||
| #define STRINGLIB_LEN            PyString_GET_SIZE | ||||
| #define STRINGLIB_NEW            PyString_FromStringAndSize | ||||
| #define STRINGLIB_RESIZE         _PyString_Resize | ||||
| #define STRINGLIB_CHECK          PyString_Check | ||||
| #define STRINGLIB_CMP            memcmp | ||||
| #define STRINGLIB_TOSTR          PyObject_Str | ||||
| 
 | ||||
| #endif /* !STRINGLIB_STRINGDEFS_H */ | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Eric Smith
						Eric Smith