// Comparator bool ExtIdentifier::operator<(const ExtIdentifier& other) const { if(getType() == EI_STRING && other.getType() == EI_STRING) return getString() < other.getString(); else if(getType() == EI_INT32 && other.getType() == EI_INT32) return getInt() < other.getInt(); else if(getType() == EI_INT32 && other.getType() == EI_STRING) return true; return false; }
NPIdentifierObject::NPIdentifierObject(const ExtIdentifier& value) { // It is possible we got a down-casted ExtIdentifier, so lets check for that const NPIdentifierObject* npio = dynamic_cast<const NPIdentifierObject*>(&value); if(npio) { npio->copy(identifier); } else { if(value.getType() == EI_STRING) identifier = NPN_GetStringIdentifier(value.getString().c_str()); else identifier = NPN_GetIntIdentifier(value.getInt()); } }
ExtIdentifier::ExtIdentifier(const ExtIdentifier& other) { type = other.getType(); strValue = other.getString(); intValue = other.getInt(); }