Line data Source code
1 : // © 2016 and later: Unicode, Inc. and others.
2 : // License & terms of use: http://www.unicode.org/copyright.html
3 : /*
4 : *****************************************************************************************
5 : * Copyright (C) 2013-2015, International Business Machines Corporation and others.
6 : * All Rights Reserved.
7 : *****************************************************************************************
8 : */
9 :
10 : #include "unicode/utypes.h"
11 :
12 : #if !UCONFIG_NO_FORMATTING
13 :
14 : #include "unicode/uregion.h"
15 : #include "unicode/region.h"
16 : #include "unicode/uenum.h"
17 : #include "unicode/strenum.h"
18 :
19 : U_NAMESPACE_USE
20 :
21 :
22 : U_CAPI const URegion* U_EXPORT2
23 0 : uregion_getRegionFromCode(const char *regionCode, UErrorCode *status)
24 : {
25 0 : return (URegion*)Region::getInstance(regionCode, *status);
26 : }
27 :
28 :
29 : U_CAPI const URegion* U_EXPORT2
30 0 : uregion_getRegionFromNumericCode (int32_t code, UErrorCode *status)
31 : {
32 0 : return (URegion*)Region::getInstance(code, *status);
33 : }
34 :
35 :
36 : U_CAPI UEnumeration* U_EXPORT2
37 0 : uregion_getAvailable(URegionType type, UErrorCode *status)
38 : {
39 0 : StringEnumeration* strenum = Region::getAvailable(type, *status);
40 0 : return uenum_openFromStringEnumeration( strenum, status );
41 : }
42 :
43 :
44 : U_CAPI UBool U_EXPORT2
45 0 : uregion_areEqual(const URegion* uregion, const URegion* otherRegion)
46 : {
47 0 : return ( (void*)uregion == (void*)otherRegion );
48 : }
49 :
50 :
51 : U_CAPI const URegion* U_EXPORT2
52 0 : uregion_getContainingRegion(const URegion* uregion)
53 : {
54 0 : return (URegion*)((Region*)uregion)->getContainingRegion();
55 : }
56 :
57 :
58 : U_CAPI const URegion* U_EXPORT2
59 0 : uregion_getContainingRegionOfType(const URegion* uregion, URegionType type)
60 : {
61 0 : return (URegion*)((Region*)uregion)->getContainingRegion(type);
62 : }
63 :
64 :
65 : U_CAPI UEnumeration* U_EXPORT2
66 0 : uregion_getContainedRegions(const URegion* uregion, UErrorCode *status)
67 : {
68 0 : StringEnumeration* strenum = ((Region*)uregion)->getContainedRegions(*status);
69 0 : return uenum_openFromStringEnumeration( strenum, status);
70 : }
71 :
72 :
73 : U_CAPI UEnumeration* U_EXPORT2
74 0 : uregion_getContainedRegionsOfType(const URegion* uregion, URegionType type, UErrorCode *status)
75 : {
76 0 : StringEnumeration* strenum = ((Region*)uregion)->getContainedRegions(type, *status);
77 0 : return uenum_openFromStringEnumeration( strenum, status);
78 : }
79 :
80 :
81 : U_CAPI UBool U_EXPORT2
82 0 : uregion_contains(const URegion* uregion, const URegion* otherRegion)
83 : {
84 0 : return ((Region*)uregion)->contains(*((Region*)otherRegion));
85 : }
86 :
87 :
88 : U_CAPI UEnumeration* U_EXPORT2
89 0 : uregion_getPreferredValues(const URegion* uregion, UErrorCode *status)
90 : {
91 0 : StringEnumeration* strenum = ((Region*)uregion)->getPreferredValues(*status);
92 0 : return uenum_openFromStringEnumeration( strenum, status);
93 : }
94 :
95 :
96 : U_CAPI const char* U_EXPORT2
97 0 : uregion_getRegionCode(const URegion* uregion)
98 : {
99 0 : return ((Region*)uregion)->getRegionCode();
100 : }
101 :
102 :
103 : U_CAPI int32_t U_EXPORT2
104 0 : uregion_getNumericCode(const URegion* uregion)
105 : {
106 0 : return ((Region*)uregion)->getNumericCode();
107 : }
108 :
109 :
110 : U_CAPI URegionType U_EXPORT2
111 0 : uregion_getType(const URegion* uregion)
112 : {
113 0 : return ((Region*)uregion)->getType();
114 : }
115 :
116 :
117 : #endif /* #if !UCONFIG_NO_FORMATTING */
|