]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/tools/toolutil/writesrc.h
ICU-57131.0.1.tar.gz
[apple/icu.git] / icuSources / tools / toolutil / writesrc.h
index 613ee9d7074f3c5616830ef3fe68fa50b524cf68..f4ca08103bbfc0fa9f461c9959ef636ee6dd9ded 100644 (file)
@@ -1,7 +1,7 @@
 /*
 *******************************************************************************
 *
-*   Copyright (C) 2005, International Business Machines
+*   Copyright (C) 2005-2012, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 *******************************************************************************
 
 #include <stdio.h>
 #include "unicode/utypes.h"
-#include "utrie.h"
+#include "utrie2.h"
 
 /**
- * Create a source text file and write a header comment with the ICU copyright.
+ * Creates a source text file and writes a header comment with the ICU copyright.
+ * Writes a C/Java-style comment with the generator name.
  */
 U_CAPI FILE * U_EXPORT2
-usrc_create(const char *path, const char *filename);
+usrc_create(const char *path, const char *filename, const char *generator);
 
 /**
- * Write the contents of an array of 8/16/32-bit words.
+ * Creates a source text file and writes a header comment with the ICU copyright.
+ * Writes the comment with # lines, as used in scripts and text data.
+ */
+U_CAPI FILE * U_EXPORT2
+usrc_createTextData(const char *path, const char *filename, const char *generator);
+
+/**
+ * Writes the contents of an array of 8/16/32-bit words.
  * The prefix and postfix are optional (can be NULL) and are written first/last.
  * The prefix may contain a %ld or similar field for the array length.
  * The {} and declaration etc. need to be included in prefix/postfix or
@@ -43,28 +51,42 @@ usrc_writeArray(FILE *f,
                 const char *postfix);
 
 /**
- * Calls usrc_writeArray() for the index and data arrays of a runtime UTrie.
- * Only the index array is written for a 16-bit UTrie. In this case, dataPrefix
+ * Calls usrc_writeArray() for the index and data arrays of a frozen UTrie2.
+ * Only the index array is written for a 16-bit UTrie2. In this case, dataPrefix
  * is ignored and can be NULL.
  */
 U_CAPI void U_EXPORT2
-usrc_writeUTrieArrays(FILE *f,
-                      const char *indexPrefix, const char *dataPrefix,
-                      const UTrie *pTrie,
-                      const char *postfix);
+usrc_writeUTrie2Arrays(FILE *f,
+                       const char *indexPrefix, const char *dataPrefix,
+                       const UTrie2 *pTrie,
+                       const char *postfix);
+
+/**
+ * Writes the UTrie2 struct values.
+ * The {} and declaration etc. need to be included in prefix/postfix or
+ * printed before and after the array contents.
+ */
+U_CAPI void U_EXPORT2
+usrc_writeUTrie2Struct(FILE *f,
+                       const char *prefix,
+                       const UTrie2 *pTrie,
+                       const char *indexName, const char *dataName,
+                       const char *postfix);
 
 /**
- * Writes the UTrie struct values.
+ * Writes the contents of an array of mostly invariant characters.
+ * Characters 0..0x1f are printed as numbers,
+ * others as characters with single quotes: '%c'.
+ *
+ * The prefix and postfix are optional (can be NULL) and are written first/last.
+ * The prefix may contain a %ld or similar field for the array length.
  * The {} and declaration etc. need to be included in prefix/postfix or
  * printed before and after the array contents.
- * If getFoldingOffsetName==NULL then "utrie_defaultGetFoldingOffset" is printed.
  */
 U_CAPI void U_EXPORT2
-usrc_writeUTrieStruct(FILE *f,
-                      const char *prefix,
-                      const UTrie *pTrie,
-                      const char *indexName, const char *dataName,
-                      const char *getFoldingOffsetName,
-                      const char *postfix);
+usrc_writeArrayOfMostlyInvChars(FILE *f,
+                                const char *prefix,
+                                const char *p, int32_t length,
+                                const char *postfix);
 
 #endif