Esempio n. 1
0
MemoryObject*
MemoryObjectFactory::createBuffer(cl_mem_flags flags,
                                  size_t size,
                                  void* host_ptr,
                                  cl_int* errcode_ret)
{
    setIfNotNull(errcode_ret, CL_SUCCESS);
    if (flags & CL_MEM_USE_HOST_PTR) {
        if (!host_ptr) {
            setIfNotNull(errcode_ret, CL_INVALID_HOST_PTR);
            return 0;
        } else {
            MemoryObject* newobj = new Buffer(host_ptr);
            objects_.insert(newobj);
            return newobj;
        }
    }

    if (flags & CL_MEM_ALLOC_HOST_PTR) {
        MemoryObject* newobj = new Buffer(size);
        objects_.insert(newobj);
        return newobj;
    }

    MemoryObject* newobj = new Buffer(size);
    objects_.insert(newobj);
    return newobj;

    //There should be a case which triggers this?
    setIfNotNull(errcode_ret, CL_INVALID_VALUE);
    return 0;
}
Esempio n. 2
0
QVariant BoolTypeValueFactory::getValueFromString( const QString & s, bool * ok ) const {
    QString str = s.toLower();
    if( str == TRUE_STR || str == YES_STR || str == ONE_STR ) {
        setIfNotNull( ok, true );
        return qVariantFromValue( true );
    }
    if( str == FALSE_STR || str == NO_STR || str == NIL_STR ) {
        setIfNotNull( ok, true );
        return qVariantFromValue( false );
    }
    setIfNotNull( ok, false );
    return QVariant();
}
Esempio n. 3
0
/****************************************
* MapTypeValueFactory
****************************************/
QVariant MapTypeValueFactory::getValueFromString(const QString &str, bool *ok) const {
    setIfNotNull(ok, true);
    StrStrMap map = StrPackUtils::unpackMap(str, StrPackUtils::SingleQuotes);
    QVariantMap variantMap;
    foreach (const QString& key, map.keys()) {
        variantMap.insert(key, map.value(key));
    }
    return variantMap;
}
Esempio n. 4
0
/****************************************
* NumTypeValueFactory
****************************************/
QVariant NumTypeValueFactory::getValueFromString( const QString & str, bool * okArg ) const {
    bool ok = false;

    qint64 longIntCandidate = str.toLongLong(&ok);
    if(ok) {
        setIfNotNull(okArg, true);
        return qVariantFromValue(longIntCandidate);
    }

    int intCandidate = str.toInt(&ok);
    if(ok) {
        setIfNotNull(okArg, true);
        return qVariantFromValue(intCandidate);
    }

    double doubleCandidate = str.toDouble(&ok);
    if(ok) {
        setIfNotNull(okArg, true);
        return qVariantFromValue(doubleCandidate);
    }

    setIfNotNull(okArg, false);
    return QVariant();
}
Esempio n. 5
0
/****************************************
* StringListTypeValueFactory
****************************************/
QVariant StringListTypeValueFactory::getValueFromString(const QString &str, bool *ok) const {
    setIfNotNull(ok, true);
    return QVariant::fromValue<QStringList>(StrPackUtils::unpackStringList(str, StrPackUtils::SingleQuotes));
}