From d5f3278e54915c65619a0d77b14fd42ee3102ab9 Mon Sep 17 00:00:00 2001 From: Markus Scherer Date: Wed, 19 Nov 2003 01:00:18 +0000 Subject: [PATCH] ICU-2235 allow header file inclusion from .c for the swap function declaration X-SVN-Rev: 13751 --- icu4c/source/common/propname.h | 53 ++++++++++++---------- icu4c/source/common/rbbidata.h | 82 +++++++++++++++++++--------------- 2 files changed, 75 insertions(+), 60 deletions(-) diff --git a/icu4c/source/common/propname.h b/icu4c/source/common/propname.h index 066e75c9d98..373162526b8 100644 --- a/icu4c/source/common/propname.h +++ b/icu4c/source/common/propname.h @@ -13,27 +13,25 @@ #include "unicode/utypes.h" #include "unicode/uchar.h" +#include "udataswp.h" #include "uprops.h" -class Builder; +/* + * This header defines the in-memory layout of the property names data + * structure representing the UCD data files PropertyAliases.txt and + * PropertyValueAliases.txt. It is used by: + * propname.cpp - reads data + * genpname - creates data + */ -U_NAMESPACE_BEGIN - -// This header defines the in-memory layout of the property names data -// structure representing the UCD data files PropertyAliases.txt and -// PropertyValueAliases.txt. It is used by: -// propname.cpp - reads data -// genpname - creates data - -//---------------------------------------------------------------------- -// UDataMemory structure and signatures +/* UDataMemory structure and signatures ------------------------------------- */ #define PNAME_DATA_NAME "pnames" #define PNAME_DATA_TYPE "icu" -// Fields in UDataInfo: +/* Fields in UDataInfo: */ -// PNAME_SIG[] is encoded as numeric literals for compatibility with the HP compiler +/* PNAME_SIG[] is encoded as numeric literals for compatibility with the HP compiler */ #define PNAME_SIG_0 ((uint8_t)0x70) /* p */ #define PNAME_SIG_1 ((uint8_t)0x6E) /* n */ #define PNAME_SIG_2 ((uint8_t)0x61) /* a */ @@ -41,6 +39,22 @@ U_NAMESPACE_BEGIN #define PNAME_FORMAT_VERSION ((int8_t)1) /* formatVersion[0] */ +/** + * Swap pnames.icu. See udataswp.h. + * @internal + */ +U_CAPI int32_t U_EXPORT2 +upname_swap(const UDataSwapper *ds, + const void *inData, int32_t length, void *outData, + UErrorCode *pErrorCode); + + +#ifdef XP_CPLUSPLUS + +class Builder; + +U_NAMESPACE_BEGIN + /** * An offset from the start of the pnames data to a contained entity. * This must be a signed value, since negative offsets are used as an @@ -347,15 +361,6 @@ class NameToEnum { UErrorCode *pErrorCode); }; -/** - * Swap pnames.icu. See udataswp.h. - * @internal - */ -U_CAPI int32_t U_EXPORT2 -upname_swap(const UDataSwapper *ds, - const void *inData, int32_t length, void *outData, - UErrorCode *pErrorCode); - /*---------------------------------------------------------------------- * * In-memory layout. THIS IS NOT A STANDALONE DOCUMENT. It goes @@ -467,6 +472,6 @@ upname_swap(const UDataSwapper *ds, */ U_NAMESPACE_END -#endif +#endif /* C++ */ -//eof +#endif diff --git a/icu4c/source/common/rbbidata.h b/icu4c/source/common/rbbidata.h index 108fc225d0e..8c9f4455a24 100644 --- a/icu4c/source/common/rbbidata.h +++ b/icu4c/source/common/rbbidata.h @@ -1,38 +1,56 @@ -// file: rbbidata.h -// -//********************************************************************** -// Copyright (C) 1999 IBM Corp. All rights reserved. -//********************************************************************** -// -// RBBI data formats Includes -// -// Structs that describes the format of the Binary RBBI data, -// as it is stored in ICU's data file. -// -// RBBIDataWrapper - Instances of this class sit between the -// raw data structs and the RulesBasedBreakIterator objects -// that are created by applications. The wrapper class -// provides reference counting for the underlying data, -// and direct pointers to data that would not otherwise -// be accessible without ugly pointer arithmetic. The -// wrapper does not attempt to provide any higher level -// abstractions for the data itself. -// -// There will be only one instance of RBBIDataWrapper for any -// set of RBBI run time data being shared by instances -// (clones) of RulesBasedBreakIterator. -// +/* +******************************************************************************* +* +* Copyright (C) 1999-2003, International Business Machines +* Corporation and others. All Rights Reserved. +* +******************************************************************************* +* file name: rbbidata.h +* encoding: US-ASCII +* tab size: 8 (not used) +* indentation:4 +* +* RBBI data formats Includes +* +* Structs that describes the format of the Binary RBBI data, +* as it is stored in ICU's data file. +* +* RBBIDataWrapper - Instances of this class sit between the +* raw data structs and the RulesBasedBreakIterator objects +* that are created by applications. The wrapper class +* provides reference counting for the underlying data, +* and direct pointers to data that would not otherwise +* be accessible without ugly pointer arithmetic. The +* wrapper does not attempt to provide any higher level +* abstractions for the data itself. +* +* There will be only one instance of RBBIDataWrapper for any +* set of RBBI run time data being shared by instances +* (clones) of RulesBasedBreakIterator. +*/ #ifndef __RBBIDATA_H__ #define __RBBIDATA_H__ #include "unicode/utypes.h" +#include "unicode/udata.h" +#include "udataswp.h" + +/** + * Swap RBBI data. See udataswp.h. + * @internal + */ +U_CAPI int32_t U_EXPORT2 +ubrk_swap(const UDataSwapper *ds, + const void *inData, int32_t length, void *outData, + UErrorCode *pErrorCode); + +#ifdef XP_CPLUSPLUS + #include "unicode/uobject.h" #include "unicode/unistr.h" -#include "unicode/udata.h" #include "utrie.h" - U_NAMESPACE_BEGIN // @@ -146,17 +164,9 @@ private: }; -/** - * Swap RBBI data. See udataswp.h. - * @internal - */ -U_CAPI int32_t U_EXPORT2 -ubrk_swap(const UDataSwapper *ds, - const void *inData, int32_t length, void *outData, - UErrorCode *pErrorCode); - U_NAMESPACE_END -#endif +#endif /* C++ */ +#endif