お互いの存在を確認する.
お互いの存在を確認するクラスを作ろうと思ったんだけど,
当然の如く上手くいかないwww
結構できてるんだけど,どうしても制約ができちゃうんだよなぁ.
#include <afclib/utils/existence_panel.hpp> using afclib::utils::existence_panel; int main(){ existence_panel e0(0); { existence_panel e1(1); e0.join(e1); // 0-1 assert(e0.exist(1) == true); assert(e1.exist(0) == true); } assert(e0.exist(1) == false); // 0 // 上まで位なら簡単にできるけど existence_panel e2(2); e0.join(e2); // 0-2 { existence_panel e3(3); existence_panel e4(4); e3.join(e4); // 3-4 e0.join(e4); // 0-2-3-4 assert(e0.exist(3) == true); } assert(e0.exist(3) == false); // 0-2 // joinしたもの同士をjoinしようとすると // 数字がぶつかった時が困る // まぁ例外を投げるでいいか. existence_panel ex; // id未設定 e0.join(ex); // 0-2-1 int ex_id = ex.id(); // id取得 例えば 1 }
ていうか,これくらいの物ならもうすでにあるよね.
寿命を指定できるSingletonとかあったけど,それとはちょっと違うかな?
まぁこんなん使わなくても,ポインタ一つ共有してそこにマークを書き込めばいいのだろうけど,
なんかこういうのがあったほうが便利そうな気がしただけです.