// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ******************************************************************************* * Copyright (C) 2015-2016, International Business Machines * Corporation and others. All Rights Reserved. ******************************************************************************* * resource.h * * created on: 2015nov04 * created by: Markus W. Scherer */ #ifndef __URESOURCE_H__ #define __URESOURCE_H__ /** * \file * \brief ICU resource bundle key and value types. */ // Note: Ported from ICU4J class UResource and its nested classes, // but the C++ classes are separate, not nested. // We use the Resource prefix for C++ classes, as usual. // The UResource prefix would be used for C types. #include "unicode/utypes.h" #include "unicode/unistr.h" #include "unicode/ures.h" #include "restrace.h" struct ResourceData; U_NAMESPACE_BEGIN class ResourceValue; // Note: In C++, we use const char * pointers for keys, // rather than an abstraction like Java UResource.Key. /** * Interface for iterating over a resource bundle array resource. */ class U_COMMON_API ResourceArray { … }; /** * Interface for iterating over a resource bundle table resource. */ class U_COMMON_API ResourceTable { … }; /** * Represents a resource bundle item's value. * Avoids object creations as much as possible. * Mutable, not thread-safe. */ class U_COMMON_API ResourceValue : public UObject { … }; /** * Sink for ICU resource bundle contents. */ class U_COMMON_API ResourceSink : public UObject { … }; U_NAMESPACE_END #endif