правила повторного использования boost:spirit

В версии 1.0.15 существует фабричный метод fromCallable, который позволяет запускать экземпляр Callable для каждого подписчика, в который можно также добавить проверенные исключения:

Observable.fromCallable(() -> {      
    File photoFile = new File(App.getAppContext().getCacheDir(),
        "userprofilepic_temp.jpg");
    if (photoFile.isFile()) {
       //delete the file if it exists otherwise the new file won't be created
        photoFile.delete();
    }
    photoFile.createNewFile(); //saves the file in the cache dir

    FileOutputStream fos = new FileOutputStream(photoFile);
    photoBitmap.compress(Bitmap.CompressFormat.JPEG, 90, fos);//jpeg format
    fos.close();

    return photoFile;
})
.subscribe(...)

Редактировать:

source.flatMap(v -> {
    try {
        //...
        return Observable.just(result);
    } catch (Exception e) {
        return Observable.error(e);
    }
})
.subscribe(...);
6
задан Piotr Dobrogost 9 July 2009 в 21:05
поделиться

1 ответ

Это обычные переменные, вам не нужно делать ничего особенного. Поэтому в заголовке напишите:

class nmea {
protected:
    static rule<> start, address;
};

А в файле реализации:

rule<> nmea::start = ch_p('$');
rule<> nmea::address = ch_p('$');
// etc.

Хотя, я думаю, вам рекомендуется использовать переменные-члены.

2
ответ дан 17 December 2019 в 20:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: