ICU-2235 allow header file inclusion from .c for the swap function declaration

X-SVN-Rev: 13751
This commit is contained in:
Markus Scherer 2003-11-19 01:00:18 +00:00
parent dc41bb7735
commit d5f3278e54
2 changed files with 75 additions and 60 deletions

View File

@ -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

View File

@ -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