推荐一个开源辅助网站programcreek

发布时间:2022-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了推荐一个开源辅助网站programcreek脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

关注、星标公众号,直达精彩内容

推荐一个开源辅助网站programcreek

F1a;技让梦想更伟大

作者:李肖遥

开发中经常遇到api如何使用,或者省略时间可以直接使用一些开源的代码,PRogramcreek很好的解决这个问题,这个网站可以提供最简单的demo,快速获知一个API的使用,开发中让我们事功倍,大家可以用用。

网站地址:https://www.programcreek.COM/

首页界面:

推荐一个开源辅助网站programcreek

我们看看c++ code Examples

推荐一个开源辅助网站programcreek

我们搜索一下state machine,看到找到了4 个与“状态机”相关的 C++ 代码示例,看看代码写的怎么样 很多例子写的很好,甚至可以直接使用。

void ReplicationThread::CallbacksStateMachine::ConnEventCB(
    bufferevent *bev, int16_t events, void *state_machine_ptr) {
  if (events & BEV_EVENT_CONNECTED) {
    // call wrITe_cb when connected
    bufferevent_data_cb write_cb;
    bufferevent_getcb(bev, nullptr, &write_cb, nullptr, nullptr);
    if (write_cb) write_cb(bev, state_machine_ptr);
    return;
  }
  if (events & (BEV_EVENT_ERROR | BEV_EVENT_EOF)) {
    LOG(ERROR) << "[replication] connection error/eof, reconnect the master";
    // Wait a bit and reconnect
    auto state_m = static_cast<CallbacksStateMachine *>(state_machine_ptr);
    state_m->repl_->repl_state_ = kReplConnecting;
    std::this_thread::sleep_for(std::chrono::seconds(1));
    state_m->Stop();
    state_m->Start();
  }
}

再看看C++ oPEn source Projects

推荐一个开源辅助网站programcreek

我们搜索一下state machine,看到有4个相关项目,还有分层有限状态机框架HFSM2和高性能分层有限状态机框架HFSM2。

推荐一个开源辅助网站programcreek

我们点开HSFM

Basic usage
// 1. Include HFSM header:
#include <hfsm/machine_single.hpp>

// 2. define interface class between the FSM and its owner
//    (also ok to use the owner object itself):
struct Context { /* ... */ };

// 3. (Optional) Typedef hfsm::Machine for convenience:
using M = hfsm::Machine<OwnerClass>;

// 4. Define states:
struct MyState1 : M::Bare {
    // 5. override some of the following state functions:
    void enter(Context& _);
    void update(Context& _);
    void transition(Control& c, Context& _);
    void leave(Context& _);
};

struct MyState2 : M::Bare { /* .. */ };
struct MySubState1 : M::Bare { /* .. */ };
struct MySubState2 : M::Bare { /* .. */ };

struct MyState3 : M::Bare { /* .. */ };
struct MyOrthogonalState1 : M::Bare { /* .. */ };
struct MyOrthogonalState2 : M::Bare { /* .. */ };

// 6. Declare state machine structure:
using MyFSM = M::PeerRoot<
    MyState1,
    M::Composite<;myState2,
        MySubState1,
        MySubState2,
    >,
    M::Orthogonal<MyState3,
        MyOrthogonalState1,
        MyOrthogonalState2,
    >
>;

int main() {
    // 7. Create context and state machine instances:
    Context context;
    MyFSM fsm(context);

    // 8. Kick off periodic updates:
    bool running = true;
    while (running)
        fsm.update();

    return 0;
}

总的来说,这个programcreek很不错,发现一些好的工具或者网站可以使我们开发效率提高,这也是我们站在巨人的肩膀上的意义。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“加群”按规则加入技术交流群。

欢迎关注我的视频号:

推荐一个开源辅助网站programcreek

点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

脚本宝典总结

以上是脚本宝典为你收集整理的推荐一个开源辅助网站programcreek全部内容,希望文章能够帮你解决推荐一个开源辅助网站programcreek所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。