問題タブ [boost-range]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
5991 参照

c++ - C++11ラムダでのBoostアダプターの使用

私はこのコードをコンパイルしようとしました:

コンパイルは次のエラーメッセージで失敗しました(長いテンプレートインスタンス化小説の後):

私は問題をグーグルで検索し、BoostUsersメーリングリストアーカイブでこれを見つけました。#define BOOST_RESULT_OF_USE_DECLTYPE使用することで問題が解決することが示唆されました。コードの最初に配置しましたが、それでもコンパイルされません。エラーメッセージの長さははるかに短いようですが、最後のエラーメッセージは同じです。現在、Boost1.50を使用しています。

ここで何が問題になる可能性がありますか?これを機能させる方法はありますか?

0 投票する
3 に答える
5577 参照

c++ - ブースト変換イテレータとc++11ラムダ

私は、アダプターにc++0xラムダを提供することによってboost::adapters::transformedを使用しようとしています。

次のコードはコンパイルされません。私はブースト1.48でg++4.6.2を使用しています。

私がここで間違っていることについて何か考えはありますか?

0 投票する
1 に答える
692 参照

c++ - Boost::Range の itertools.tee と同等ですか?

Pythonitertoolsteeは n-plicating iterables があります:

に相当するものが見つかりませんでしたBoost::Range。何か足りないのですか、それとも自分でロールする必要がありますか?

0 投票する
1 に答える
144 参照

c++ - テンプレート化されたイテレータからのboost::iterator_range

itertools.teeBoost ::Range用のPythonのC++バージョンを作成しようとしています(ここに表示されています)。これが私の最初の試みです:

しかし、私がそれを使おうとするとすぐに:

value_typeそれは私の顔を吹き飛ばし、boost::detail::iterator_traits<tee_iterator<std::list<int, std::allocator<int> > > >(そして他の人たちの)行方不明について不平を言います。私は何が欠けていますか?tee_iterator十分な子供ではありませんstd::iteratorか?

0 投票する
2 に答える
2528 参照

c++ - Boost::range でアダプターを作成する

C++ で遅延変換のパイプラインを作成するために、Boost::Range を使い始めました。私の問題は、パイプラインを小さな部分に分割する方法です。私が持っているとします:

そして、最初の 2 つのマップを に置き換えたいmagic_transform、つまり:

どのように書くmagic_transformでしょうか?Boost::Range のドキュメントを調べたのですが、よくわかりません。

補遺:私はこのようなクラスを書きたいと思っています:

0 投票する
2 に答える
11606 参照

c++ - boost::range_iteratorとboost::iterator_rangeの混乱

私は図書館を通り抜けていてboost::range、気づきboost::range_iteratorましたboost::iterator_range。私はここでこれらの用語と混同しています。誰かが2つの違いは何ですか、そしていつ何を使うべきか説明してもらえますか?また、ドキュメントとは別に、ブースト範囲ライブラリを使用してそれについて詳しく知るためのサンプル例を教えていただければ幸いです。

0 投票する
1 に答える
2870 参照

c++ - boost :: adapters::transformedに続いてboost::adapters::filtered呼び出しが2回機能します

私は(それを呼びましょう)を(boost::adaptors::transformedそれを呼びましょう)にチェーンしようとしています-アイデアは、範囲全体で「たぶん」(私の場合は)を返すをマップし、結果の一部のみを出力することです。私の最初の実装:mapboost::adaptors::filteredfilterfunstd::pair<bool, T>

これを実行すると、次のようになります。

であるたびにpredicatetruefun 2回呼び出されます。これは予想される動作ですか?私は何か間違ったことをしていますか、それともこれはBoostのバグですか(1.48を使用しています)?

編集:Boostのトランクバージョンでこれを試しましたが、それでも発生します。

0 投票する
1 に答える
1520 参照

stl-algorithm - ブースト範囲で変換アルゴリズムを使用する

こんにちは、boost.range を使用して 2 つの std ベクトルを追加しようとしていますが、大量のエラーが発生します。

これは機能します:

これはしません:

エラーあり:

そしてこれも:

エラーあり:

0 投票する
2 に答える
1687 参照

c++ - ブースト範囲フィルターアダプターを無効にする

ブーストフィルターアダプターを無効にすることは可能/達成可能ですか?

ラムダ式内で否定を行う代わりに?

動機:私はフィルター処理された関数とラムダ関数をよく使用しますが、フィルターを複数回使用する場合は、通常、カスタムフィルターにリファクタリングします。

現在、否定が必要な場合は、それらのカスタムフィルターを作成しています。

しかし、フィルターを無効にできる方がいいと思います。

0 投票する
1 に答える
460 参照

c++ - 隣接する要素にアクセスできる変換済みのブーストレンジアダプター

与えられた範囲の隣接する値によって変換される範囲を作りたいです。これを達成する方法はありますか?したがって、以下のコードで説明されている隣接変換を作成したいと思います。

もう1つの簡単な質問:Func()範囲アダプターにある右辺値を渡すのは安全ですboost::adaptors::transformedか?私がテストした限り、それは期待通りに動作します。安全な場合、Func()は?にコピーされtransformedますか?Func()次に、コピーにコストがかかる場合はどうすればよいですか?

関連する質問ではない場合は申し訳ありませんが、ブースト範囲の内部を理解するのに十分なスキルがありません。