我正在使用std::transforman std::back_inserter来追加元素std::deque.现在转换可能会失败,并且boost::optional在某些情况下将返回无效对象(比如未初始化或空指针).我想过滤掉附加的无效对象.
我想过使用boost::filter_iterator,但不知道如何呈现end()过滤范围的参数.
文档boost::filter_iterator建议输出过滤是可能的.如果我只是专注operator ==于std::back_insert_iterator在这种情况下总是返回false?
除此之外,如果我想追加初始化boost::optional或指针的值,我可以链接boost::filter_iterator和boost::indirect_iterator?
我试图避免推出我自己的transform_valid带有可选extractor功能的函数.
甚至可以filter_iterator用作输出迭代器吗?