当前位置: 首页 > news >正文

做告状网站index百度指数

做告状网站,index百度指数,免费如何做网页或网站,坪山附近公司做网站建设哪家效益快// 实现原理 // 每个signal映射到bitset位#xff0c;全集 // 每个slot做为signal的bitset子集 // signal全集触发#xff0c;标志位有效 // flip将触发事件队列前置 // slot检测智能指针全集触发的标志位#xff0c;主动运行子集绑定的函数 // 下一帧对bitset全集进行触发清…// 实现原理 // 每个signal映射到bitset位全集 // 每个slot做为signal的bitset子集 // signal全集触发标志位有效 // flip将触发事件队列前置 // slot检测智能指针全集触发的标志位主动运行子集绑定的函数 // 下一帧对bitset全集进行触发清空防止slot一直检测到signal触发 #include any #include iostream#include blinker.hvoid testMatch() {blinker::SignalTrie1024 trie;trie.Put(ab.cd.ef, 1);trie.Put(ab.cd.kk, 2);trie.Put(ab.xy.zz, 3);trie.Put(tt.xx, 4);trie.Put(ab.cd, 5);auto m1 trie.Match(ab.cd.ef);//REQUIRE(m1.count() 1);//REQUIRE(m1[1]);auto m2 trie.Match(ab.cd.kk);//REQUIRE(m2.count() 1);//REQUIRE(m2[2]);auto m3 trie.Match(ab.xy.zz);//REQUIRE(m3.count() 1);//REQUIRE(m3[3]);auto m4 trie.Match(ab.not.found);//REQUIRE(m4.count() 0);auto m5 trie.Match(ab.*);//REQUIRE(m5.count() 4);//REQUIRE(m5[1]);//REQUIRE(m5[2]);//REQUIRE(m5[3]);//REQUIRE(m5[5]);auto m6 trie.Match(*);//REQUIRE(m6.count() 5);//REQUIRE(m6[1]);//REQUIRE(m6[2]);//REQUIRE(m6[3]);//REQUIRE(m6[4]);//REQUIRE(m6[5]);auto m7 trie.Match(ab.cd.*);//REQUIRE(m7.count() 2);//REQUIRE(m7[1]);//REQUIRE(m7[2]);auto m8 trie.Match(tt.xx.);//REQUIRE(m8.count() 0);auto m9 trie.Match(tt.xx.*);//REQUIRE(m9.count() 0);auto m10 trie.Match(ab.cd);//REQUIRE(m10.count() 1);//REQUIRE(m10[5]); }void testValue() {struct Data {int value 1;Data(int value) : value(value) {}};blinker::Board board;auto signal1 board.NewSignal(ab.cd);auto signal2 board.NewSignal(ab.ef);auto signal3 board.NewSignal(xy.zk);auto conn1 board.Connect(ab.*);auto conn2 board.Connect(ab.cd);auto conn3 board.Connect(ab.ef);auto conn4 board.Connect(xy.zk);auto conn5 board.Connect(*);bool conn1CallbackCalled false;bool conn2CallbackCalled false;bool conn3CallbackCalled false;bool conn4CallbackCalled false;bool conn5CallbackCalled false;auto tick []() {signal1-Emit(std::make_sharedData(1));signal2-Emit(std::make_sharedData(2));signal3-Emit(std::make_sharedData(3));// signal1 and signal2conn1-Poll([](const blinker::SignalId id, std::any data) {conn1CallbackCalled true;auto p std::any_caststd::shared_ptrData(data);if (id signal1-Id())std::cout value: p-value std::endl;else if (id signal2-Id())std::cout value: p-value std::endl;elsestd::cout value error! std::endl;});// signal1conn2-Poll([](const blinker::SignalId id, std::any data) {conn2CallbackCalled true;auto p std::any_caststd::shared_ptrData(data);if (id signal1-Id())std::cout value: p-value std::endl;elsestd::cout value error! std::endl;});// signal2conn3-Poll([](const blinker::SignalId id, std::any data) {conn3CallbackCalled true;auto p std::any_caststd::shared_ptrData(data);if (id signal2-Id())std::cout value: p-value std::endl;elsestd::cout value error! std::endl;});// signal3conn4-Poll([](const blinker::SignalId id, std::any data) {conn4CallbackCalled true;auto p std::any_caststd::shared_ptrData(data);if (id signal3-Id())std::cout value: p-value std::endl;else std::cout value error! std::endl;});// all signalsconn5-Poll([](const blinker::SignalId id, std::any data) {conn5CallbackCalled true;auto p std::any_caststd::shared_ptrData(data);if (id signal1-Id())std::cout value: p-value std::endl;else if (id signal2-Id())std::cout value: p-value std::endl;else if (id signal3-Id())std::cout value: p-value std::endl;elsestd::cout value error! std::endl;});board.Flip();};tick();// still not called.tick();// called after flip }int testLoops() {// Creates a board.blinker::Board board;// Creates signals.auto taskStarted board.NewSignal(task.started);auto taskEnded board.NewSignal(task.ended);auto actionStarted board.NewSignal(action.started);// Creates connection to match some signals.auto connection board.Connect(task.*);// Callback to be called on signal fire.auto callback [](const blinker::SignalId id, std::any data) {if (id taskStarted-Id())std::cout signal taskStarted:;else if (id taskEnded-Id())std::cout signal taskEnded:;else if (id actionStarted-Id())std::cout signal actionStarted-:;std::cout std::any_castint(data) std::endl;};// Assuming your main tick function here.for (int i 0; i 10; i) {// Emit some signals (to backend).taskStarted-Emit(i);taskEnded-Emit(i);actionStarted-Emit(i);// Poll from frontend.connection-Poll(callback);// Flip double buffers.board.Flip();}return 0; }void test() {testMatch();testValue();testLoops(); } 输出 value: 1 value: 2 value: 1 value: 2 value: 3 value: 1 value: 2 value: 3 signal taskStarted:0 signal taskEnded:0 signal taskStarted:1 signal taskEnded:1 signal taskStarted:2 signal taskEnded:2 signal taskStarted:3 signal taskEnded:3 signal taskStarted:4 signal taskEnded:4 signal taskStarted:5 signal taskEnded:5 signal taskStarted:6 signal taskEnded:6 signal taskStarted:7 signal taskEnded:7 signal taskStarted:8 signal taskEnded:8 参考 GitHub - hit9/blinker.h: A lightweight signal/event library for C, similar to Pythons blinker, but designed to work with ticking loops. 创作不易小小的支持一下吧
http://www.dnsts.com.cn/news/13457.html

相关文章:

  • 外贸网站建设资料网站建设朋友圈素材
  • 网站设计如何自学asp网站后台下载
  • 网站建设的几个要素顺德做pc端网站
  • dw如何做网站界面建材 网站 模板
  • 茶叶网站模板 html做网站赚谁的钱
  • 可口可乐网站建设想做一个自己的网站怎么做
  • 南京百度网站推广百度竞价个人开户
  • 站内推广方式网站如何注册微信公众平台 类型
  • 做调像什么网站找活中国包装创意设计网
  • 成都网站建设时代汇创域名年费价格表
  • 建设银行e房通网站建设网站怎么备案
  • 三网合一网站开发wordpress 教材主题
  • 宁波网站建设rswl网站建设 朝阳区
  • 哪里提供邢台做网站临汾网站建设电话
  • 大红门做网站的公司wordpress多媒体mp4
  • 西安网站建设中企建站网架公司推荐
  • wordpress 网站图标设置网站设计板块
  • 贵阳公司官方网站建设html5英文视频网站建设
  • 直接用ip访问网站做进出口外贸网站
  • 合肥专业做淘宝网站php 7.0 wordpress
  • asp 网站源码 下载网站建设规划申请
  • 外语网站开发如何改进网站
  • 北京网站设计公司哪家公司好视觉设计师作品集
  • lol视频网站模板创一个公司要多少钱
  • 有没有做网站的多少钱佛山网站建设的首选
  • 公司建立网站谷歌怎么推广自己的网站
  • 佛山网站域名过期网店运营推广方式
  • 优秀策划设计网站微网站开发微网站建设
  • 南宁网站建设官网在线制作图片的软件
  • 怎样设立网站株洲新站seo