問題タブ [boost-tuples]

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 投票する
2 に答える
1414 参照

c++ - boost::tuple と std::map によるセグメンテーション違反

次のようなコードの使用に問題があります。

コンパイラはエラーを認識しません。しかし、プログラムを開始すると、奇妙なセグメンテーション違反が発生します。そのため、それを引き起こすコード行を見つけたかったのです。それからGDBは私に言った:

残念ながら、これまでのところ、この種の問題に対する解決策は見つかりませんでした。

私がここで見逃したものを見た人はいますか?

編集:それで、さらに調査を行いました。問題の原因となっているオブジェクトは、ユーザー定義のものです。そして実際には、ベクトルでもエラーが発生するため、ブースト関連のものもマップの使用法も原因ではないようです!

また、別のクラスでエラーを再現しようとしました。残念ながら、私はそこでエラーを引き起こすことができませんでした。

今gdbは私に言います:

コンパイラの設定が原因でしょうか?

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

c++ - ブーストタプル: 要素の最大数を増やす

ブーストタプルのドキュメントには次のように書かれています:

現在のバージョンでは、0 ~ 10 個の要素を持つタプルがサポートされています。必要に応じて、上限を数十要素まで増やすことができます。

ただし、これを行う方法が記載されている場所が見つかりませんでした。

タプルにBOOST_MPL_LIMIT_VECTOR_SIZE要素を持たせたい (デフォルトで 20)。これは、すべてのコンテナが同じ数の要素を持つように、 との間mpl::vectorsをマッピングしているためです。boost::tuples

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

c++ - boost.fusion ベクトル内の要素への参照

編集 - 無視してください - 質問は単純なタイプミスで解決されました。休憩が必要です。

ブースト融合ベクターの要素への参照にアクセスするにはどうすればよいですか?

boost.tuples tuples::get<i>(variable)(参照を返す)とは異なりfusion::at_c<i>(variable)、定数が返されるため、問題が発生します。

以下は私の問題を示しています

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

c++ - Boost.Range の C++ タプル - 要素型のタプルを取得しますか?

Boost.Range と Boost Tuple を試しています。範囲のタプルがある場合、タプルまたは対応する要素値をどのように型定義できますか? これを別の言い方をすれば、ここの代わりに何を入れますか/*?*/:

もちろん、これは手動で行うことができ、次のように記述します。

あるいは:

しかし、タプルのサイズに関係なく、TupleOfElementsから直接派生できるはずだと思います。TupleOfRangesどんなアイデアでも大歓迎です!

編集:これはうまくいくようです、@ltjaxに感謝します:

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

c++ - boost::bind が boost::tuple::get で機能しない()

boost::bindで STLを使用しようとしてboost::tupleいますが、コンパイルしようとするたびに次のエラーが発生します。

ここで私が間違っていることを知っていますboost::arg<1>か?

ありがとうAFG

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

c++ - boost :: tupleの`<<`演算子を書く方法は?

以下のサンプルコードでは、boost::tupleが最初のテンプレート引数から暗黙的に作成できることを示しています。<<そのため、あいまいになるため、演算子を記述できません。

ostringstream& << floatまた、なぜあいまいなのかもわかりません。これには暗黙の構造はありません。なぜこれもあいまいなエラーを出すのですか?

エラーメッセージ:

tupleTest2.C:18:エラー:ISO C ++は、最初の変換の最悪の変換が2番目の変換の最悪の変換よりも優れているにもかかわらず、これらはあいまいであると言っています。

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

c++ - 実行時に定義された順序で C++ タプルをトラバースする

boost または std タプルを反復することは可能ですが、型情報を保持しながら、実行時に決定された順序で反復することはできますか?

私のタプルが type のオブジェクトで満たされているとしますFoo:

Fooタイプのリストをトラバースして、それらのメソッドを呼び出すことができるようにしたいと考えてdoitいますが、rankメンバーの値などによって定義された任意の順序で行います。

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

c++ - 別のものを使用して1つの具体的なboost::tupleタイプを構築する

与えられた:

typedef boost::tuple< T1, T2, T3, ..., Tn > Tuple_Tn

ここで、型 T1、... Tn はすべて定義されています。

そして、型 T_another が与えられたので、新しいタプル型を定義したいと思います:

typedef boost::tuple< T1, T2, T3, ..., Tn, T_another > Tuple_T_plus_1

しかし、ここに私の問題があります。それを定義したい場所では、タイプ Tuple_Tn と T_another にしかアクセスできません。

つまり、 Tuple_T_plus_1 を Tuple_Tn と T_another だけで定義することは可能でしょうか?

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

c++ - ブーストタプルの「get」メソッドはどのように機能しますか?

優れたブースト タプル クラス (tuple_basic.hpp) のソースを掘り下げた後、タプル メンバーにアクセスするための「get」メソッドで再帰的なテンプレート アルゴリズムが使用されていることがわかります。

私が理解するのに苦労しているのは、テンプレート化された数値パラメーターを特定のメンバー名にマップする方法です? さらに、再帰テンプレート関数は常に最初の要素に収束しません (再帰テンプレート関数の停止条件のように) 、get<0>())?、ゼロより大きい要素はどのようにアクセスされますか?