acl  3.5.3.0
acl::go_fiber类 参考

#include <go_fiber.hpp>

+ acl::go_fiber 的协作图:

Public 成员函数

 go_fiber (void)
 
 go_fiber (size_t stack_size)
 
void operator > (std::function< void()> fn)
 
void operator< (std::function< void()> fn)
 
void operator<< (std::function< void()> fn)
 

详细描述

在文件 go_fiber.hpp31 行定义.

构造及析构函数说明

◆ go_fiber() [1/2]

acl::go_fiber::go_fiber ( void  )
inline

在文件 go_fiber.hpp34 行定义.

34 {}

◆ go_fiber() [2/2]

acl::go_fiber::go_fiber ( size_t  stack_size)
inline

在文件 go_fiber.hpp35 行定义.

35 : stack_size_(stack_size) {}

成员函数说明

◆ operator >()

void acl::go_fiber::operator > ( std::function< void()>  fn)
inline

在文件 go_fiber.hpp37 行定义.

38  {
39  fiber_ctx* ctx = new fiber_ctx(fn);
40  fiber::fiber_create(fiber_main, (void*) ctx, stack_size_);
41  }
static void fiber_create(void(*fn)(ACL_FIBER *, void *), void *ctx, size_t size)

引用了 acl::fiber::fiber_create().

+ 函数调用图:

◆ operator<()

void acl::go_fiber::operator< ( std::function< void()>  fn)
inline

在文件 go_fiber.hpp43 行定义.

44  {
45  fiber_tbox<int> box;
46 
47  go[&] {
48  fn();
49  box.push(NULL);
50  };
51  (void) box.pop();
52  }
#define go
Definition: go_fiber.hpp:24

引用了 go, acl::fiber_tbox< T >::pop() , 以及 acl::fiber_tbox< T >::push().

+ 函数调用图:

◆ operator<<()

void acl::go_fiber::operator<< ( std::function< void()>  fn)
inline

在文件 go_fiber.hpp54 行定义.

55  {
56  fiber_tbox<int> box;
57 
58  std::thread thread([&]() {
59  fn();
60  box.push(NULL);
61  });
62 
63  thread.detach();
64  (void) box.pop();
65  }

引用了 acl::fiber_tbox< T >::pop() , 以及 acl::fiber_tbox< T >::push().

+ 函数调用图:

该类的文档由以下文件生成: