NumberingSystem* U_EXPORT2 NumberingSystem::createInstance(int32_t radix_in, UBool isAlgorithmic_in, const UnicodeString & desc_in, UErrorCode &status) { if (U_FAILURE(status)) { return NULL; } if ( radix_in < 2 ) { status = U_ILLEGAL_ARGUMENT_ERROR; return NULL; } if ( !isAlgorithmic_in ) { if ( desc_in.countChar32() != radix_in ) { status = U_ILLEGAL_ARGUMENT_ERROR; return NULL; } } NumberingSystem *ns = new NumberingSystem(); ns->setRadix(radix_in); ns->setDesc(desc_in); ns->setAlgorithmic(isAlgorithmic_in); ns->setName(NULL); return ns; }