- 博客(4)
- 收藏
- 关注
原创 Boost Phoenix 入门 (4)
Function #include boost/spirit/home/phoenix/function/function.hpp> Phoenix 中的 function 可不是 boost 的泛型函数指针,它是用来帮助你实现 lazy function 的。把一个自己的函数实现成 lazy function 的主要好处就是,它可以和 Phoenix 的其它模块和谐共处。这个我们
2010-01-14 19:56:00 4502 1
原创 Boost Phoenix 入门 (3)
ActorActor 是整个 Phoenix 的核心,几乎所有的组件事实上都是 Actor。但是这个处于中心地位的组件,其实是一个很简单的 concept:Actor 就是一个functor,它接受0~N个参数。template struct actor : Eval{ return_type operator()() const; template
2010-01-13 20:06:00 4203
原创 Boost Phoenix 入门 (2)
Phoenix 库有着优雅的设计,它的11个模块分为4层,模块的功能之间完全正交,没有循环依赖。低层模块不依赖高层模块,同一层的模块之间也不互相依赖。这意味着用户可以自由选用自己需要的模块,而不需要把其余部分包含进来。 Core位于 Phoenix 库最底层(第一层)的是 Actor 模块,它是对于 Phoenix functor 的原型定义,做了一个 functor 最基本的工作:重
2010-01-13 19:31:00 4378
原创 Boost Phoenix 入门 (1)
Phoenix 可以看作是对 Boost Lambda Library 的重新实现。它是作为 Boost.Spirit 的一部分的,但是我们完全可以把它作为单独的库来使用,以达到一些非常酷和方便的效果。 基本上,Phoenix 大大方便了在 C++ 中进行 functional programming。当然,由于 C++ 不是函数式语言,我们没有可能进行严格的 functional pro
2010-01-13 15:29:00 5897 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人