問題タブ [boost-uuid]

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

database - 分散環境での一様分布乱数の生成

ゴシップの原理で動作するワイヤレスセンサーネットワークで「一意の乱数」を生成する必要があります。

要件は次のとおりです。

  1. 各ノードは、他のノードが生成したものを共有することなく一意の乱数を生成する必要があります。
  2. 生成された乱数の分布は、互いに均一である必要があります
  3. 生成された乱数の範囲が約 10 ~ 16 ビットであるか、それよりも小さい場合が望ましいでしょう。

制限事項は次のとおりです。

  1. 1 つのノードは、ネットワーク内の他のノードが生成している数を認識していません。
  2. C、C++ での実装。

また、乱数の生成に一意のシードを使用することもできます。シードは0-2^15の範囲の任意の数値です。

そのような数値を生成する方法がない場合、上記の要件のいくつかを満たす方法があれば助かります。

この結果を達成する方法を教えていただければ、本当に助かります。

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

c++ - boost::uuids::random_generator はスレッドセーフですか?

g++ -std=c++11この関数を(GCC 4.7.2)でコンパイルすることを検討してください。

getID複数のスレッドから呼び出しても安全ですか?

ここで言及されているように、最初の行のローカル静的オブジェクト定義は、C++11 標準に従ってスレッドセーフです。boost::uuids::random_generator::operator()問題は、2 行目の同じオブジェクトに対する呼び出しgeneratorもスレッドセーフかどうかです。返された UUID は、単一のスレッドにあるという意味で一意になりますか?

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

c++ - Boost.uuid をクロスプラットフォーム コードに統合するにはどうすればよいですか?

C++クロスプラットフォームゲーム エンジンである cocos2d-x を使用してアプリケーションを作成しています。ゲームでは、入力なしで UUID を生成する必要があります。generateUuid関数を呼び出して、その関数によって返された値を に代入したいだけですstd::string。Boost.uuid が機能することはわかっています。正直なところ、必要な関数が何かわかりませんが、最大の問題は、Boost.uuid をコードに統合する方法がわからないことです。Boostを一度ビルドして使用しようとしましたが、その時点でライブラリ全体をインストールしました。私のニーズに合わせて最小限のコードを統合する手順は何ですか? また、いくつかのヘッダー ファイルが含まれているだけであることを願っています。それ以外の場合は、cocos2d-x がサポートするすべてのプラットフォームで動作するかどうかわかりません。

Boost.uuidのみの使用方法を学ぶために何をすべきか、何を読むべきか教えてください。

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

c++ - シリアルでboost::uuidをシリアル化する方法

この単純なクラスをシリアル化しようとしています:

しかし、私はこのエラーメッセージを受け取ります

uuid へのポイティング。これを有効にするブーストシリアル化の方法は、追加することです

しかし、これはそのままではシリアルには機能しません。穀物の文書によると

シリアル アーカイブは std::ostream または std::istream オブジェクトのいずれかで動作します。

だから私は定義されているが運がないヘッダーを追加しようとしました

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

c++ - ブーストを使用して std::string が有効な uuid であるかどうかを確認します

ブーストを使用して、特定の文字列が有効な UUID であるかどうかを確認したいと考えています。

これは、boost Web サイトのドキュメントを見て思いついたものです。

ただし、これは常に機能するとは限りません。

有効な UUID に対して短すぎる文字列で関数を呼び出すと、期待どおりに例外がスローされます。しかし、無効な UUID (例00000000-0000-0000-0000-00000000000K) で関数を呼び出すと、例外はスローされません。

誰かがなぜこれが起こっているのかを明確にしてください。

また、ここに投稿されているように、boost::lexical_cast を使用して文字列を UUID として読み取ることも見てきました。その方法をとるべきか悩んでいます。アドバイスをいただければ幸いです。

0 投票する
0 に答える
57 参照

c++ - boost uuid の POD プロパティを使用すると、dll/so 境界を越えて渡すことができますか?

dll 境界を越えた関数呼び出しからブースト uuid を返すことはできますか? 値または参照のどちらで返すかは重要ですか?