问题标签 [loki]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
122 浏览

c++ - Loki 序列可以有多少个元素?

我知道 boost MPL 列表或向量的最大长度是半可定义的,但是在大约 30 个元素之后,编译器讨厌我。Loki 序列可以有多少个元素,用户可以定义吗?

0 投票
1 回答
340 浏览

c++ - 从类型列表中擦除类型 C++ 元编程

从C++ 元编程中的类型列表中擦除类型是什么意思。任何人都可以提出任何简单的例子。

在这种情况下,如果我必须从类型列表中删除 B。可以删除它吗?以及我如何删除 B 型。

0 投票
0 回答
356 浏览

c++ - 洛基:Typelist.h

我正在尝试 Typelist 的示例,并阅读以下链接中给出的示例。 类型列表访问者模式示例

但在那个例子中,他们没有使用 loki 提供的Typelist.h。我的问题是我们如何使用该头文件来创建类型列表,或者我们必须从头开始编写。

0 投票
1 回答
2059 浏览

c++ - 为什么 Alexandrescu 不能使用 std::uncaught_exception() 在 ScopeGuard11 中实现 SCOPE_FAIL?

毫无疑问,很多人都熟悉 Alexandrescus 先生的 ScopeGuard 模板(现在是 Loki 的一部分)以及此处介绍的新版本 ScopeGuard11:http: //channel9.msdn.com/Shows/Going+Deep/C-and-Beyond-2012- Andrei-Alexandrescu-Systematic-Error-Handling-in-C

来源: https ://gist.github.com/KindDragon/4650442

在他在 c++ 和 2012 年以后的演讲中,他提到他找不到正确检测范围是否因异常而退出的方法。因此,当且仅当范围因异常而退出时,他无法实现 SCOPE_FAIL 宏,该宏将执行提供的 lambda(通常用于回滚代码)。这将使dismiss() 成员函数变得不需要,并使代码更具可读性。

由于我绝不像 Alexandrescu 先生那样天才或经验丰富,我希望实现 SCOPE_FAIL 并不像这样容易:

我的问题是为什么不呢?

0 投票
2 回答
293 浏览

c++ - Loki::Factory 在程序退出时抛出异常

我正在尝试在使用Loki::FactoryVC8 编译的项目中使用(我不允许切换到较新的编译器)。程序退出时出现问题,我可以使用此基本代码重现该问题(这是您在使用工厂时可能想要实现的最起码)

一切都很好,直到系统暂停要求使用按键(如system("pause"));但是,当我按下键时,由于从函数内部抛出未处理的异常,程序中止

可以在 Visual Studio 文件“内存”中找到。异常是访问冲突,堆栈以:

std::auto_ptr我在互联网上找不到任何关于使用Loki 的参考。

如何解决问题?

0 投票
1 回答
1309 浏览

c++ - 洛基和 C++11

我对 Loki 库和新标准 C++11 有一些疑问。

我的第一个问题是关于LevelMutex图书馆的功能。 LevelMutex直接使用CRITICAL_SECTIONWindows 上的 apthread_mutex_t和 Linux 中的 a 来实现功能。这些课程设计得非常好,但我的脑海中仍然存在一个问题。现在我们在新标准中有一个全新的包装器 ( std::mutex) 是否值得替换依赖于平台的低级对象?如果不是,为什么?我的观点是——我们可以在 Loki 中删除大量编译器检查——我们可以保持 Loki 的最新版本,并且当标准库中发生更改时,所有更改都将推送到 Loki——我们可以使用std::mutexLoki 中的异常。

我知道这std::mutex只是平台互斥对象的包装器,异常也是系统特定错误的包装器,但仍然......同样的问题适用于Threads.h.

我的第二个问题是关于SmartPtr在 Loki 中实现的。鉴于我们有 shared_ptr,unique_ptr等,你认为值得使用这个实现吗?如果是,为什么?如果不是,我认为稍微重写 LockingPtr 实现以获得线程安全 shared_ptr 是个好主意?

我的最后一个问题是关于std::threadC++11 标准中的新功能。我正在考虑为这个特定功能编写策略类,例如能够创建可连接线程或可拆卸线程。在您看来,为哪些部分std::thread创建政策会很有趣?

提前感谢您的回答!

0 投票
1 回答
92 浏览

c++ - 为什么 loki::flex_string 的 SmallStringOpt 需要对齐

我正在阅读 flex_string 的源代码,并不太明白为什么对齐是必要的,只是出于性能原因?

这是 flex_string 设计文档的链接:

http://www.drdobbs.com/generic-a-policy-based-basicstring-imple/184403784#4

作者说: 但那是什么 Align 业务?好吧,在处理这种“就座分配”时,您必须小心对齐问题。

0 投票
0 回答
360 浏览

c++ - 带有可变参数模板的 Loki 函子

Functor我对图书馆的实施有疑问Loki。我正在做一些更改,以使其与可变参数模板一起使用,而不是使用模板专业化的行和行。问题是我正在尝试将 typedef 用于可变参数模板并且我不明白我的错误,这就是为什么我可以使用专家的帮助...

是头文件。

我用一个简单的例子对其进行了测试:

这给了我这个错误

0 投票
3 回答
5728 浏览

c++ - std::function 和 shared_ptr

我使用 Loki 的 Functor 已经有一段时间了,最​​近我问了一个关于它的问题(仍然没有答案......)有人告诉我使用 std::function,但我更喜欢 Loki 的 Functor 实现,因为它也适用于各种指针作为参数(例如 std::shared_ptr)。

有没有办法用 std::function 做到这一点?

0 投票
1 回答
76 浏览

c++ - 我可以在 c++0x 模板中使用 loki ObjectLevelLockable

我想使用 Loki 库创建一个线程安全的 fifo 列表,但我无法创建一个守卫,因为我使用的是 gcc 4.3 并且它不支持别名模板:

任何想法......没有安装 gcc 4.7?