| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 | // © 2016 and later: Unicode, Inc. and others.// License & terms of use: http://www.unicode.org/copyright.html/**********************************************************************************   Copyright (C) 2005-2012, International Business Machines*   Corporation and others.  All Rights Reserved.*********************************************************************************   file name:  writesrc.h*   encoding:   UTF-8*   tab size:   8 (not used)*   indentation:4**   created on: 2005apr23*   created by: Markus W. Scherer**   Helper functions for writing source code for data.*/#ifndef __WRITESRC_H__#define __WRITESRC_H__#include <stdio.h>#include "unicode/utypes.h"#include "unicode/ucptrie.h"#include "utrie2.h"/** * 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_EXPORT2usrc_create(const char *path, const char *filename, int32_t copyrightYear, const char *generator);/** * 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_EXPORT2usrc_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 * printed before and after the array contents. */U_CAPI void U_EXPORT2usrc_writeArray(FILE *f,                const char *prefix,                const void *p, int32_t width, int32_t length,                const char *postfix);/** * 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_EXPORT2usrc_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_EXPORT2usrc_writeUTrie2Struct(FILE *f,                       const char *prefix,                       const UTrie2 *pTrie,                       const char *indexName, const char *dataName,                       const char *postfix);/** * Calls usrc_writeArray() for the index and data arrays of a UCPTrie. */U_CAPI void U_EXPORT2usrc_writeUCPTrieArrays(FILE *f,                        const char *indexPrefix, const char *dataPrefix,                        const UCPTrie *pTrie,                        const char *postfix);/** * Writes the UCPTrie 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_EXPORT2usrc_writeUCPTrieStruct(FILE *f,                        const char *prefix,                        const UCPTrie *pTrie,                        const char *indexName, const char *dataName,                        const char *postfix);/** * Writes the UCPTrie arrays and struct values. */U_CAPI void U_EXPORT2usrc_writeUCPTrie(FILE *f, const char *name, const UCPTrie *pTrie);/** * 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. */U_CAPI void U_EXPORT2usrc_writeArrayOfMostlyInvChars(FILE *f,                                const char *prefix,                                const char *p, int32_t length,                                const char *postfix);#endif
 |