Boost python 导出单例

2024-04-24

我有一个单例(来自 boost::serialization):

class LogManager : public boost::serialization::singleton<LogManager> { ... };

以及用于获取实例的包装:

inline LogManager &logManager() { return LogManager::get_mutable_instance(); }

将其绑定到 boost.python 模块的正确方法是什么?

I tried:

class_< LogManager, boost::serialization::singleton<LogManager> >("LogManager", no_init)
    ...
;

结果 - 控制台中出现很多丑陋的错误文本。怎么了?


除了使用bases<...>在 Autopulated 指出的第二个参数中,我认为您还想指定boost::noncopyable作为第三个模板参数,例如

bp::class_<LogManager, bp::bases<boost::serialization::singleton<LogManager> >, boost::noncopyable>("LogManager", bp::no_init)

Edit: 此外,您需要为列出的任何基类提供类声明,例如

bp::class_<boost::serialization::singleton<LogManager>, boost::noncopyable>("Singleton", bp::no_init)

或者,如果您不需要访问基类并且不会导出任何其他子类boost::serialization::singleton<LogManager>,那么您可以首先省略指定基类。也就是说,如果您只想公开以下声明就可以了LogManager class:

bp::class_<LogManager, boost::noncopyable>("LogManager", bp::no_init)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Boost python 导出单例 的相关文章

  • OpenGL 着色器不与着色器程序链接

    我正在尝试使用 GLFW GLEW 添加着色器 我收到一个错误 指出着色器已加载 但它们没有有效的对象代码 这是我用于加载着色器的代码 class SHADER public void LoadShaders const char vert
  • 如何在 TargetFrameworks 标记中每个框架运行一次的目标之前创建仅运行一次而不是一次的 MSBuild 目标?

    我有一个我部分拥有的代码生成器工具 现在 csproj 文件可以在其中列出多个目标框架并构建所有这些框架 我试图弄清楚如何使 MSBuild 目标仅在每个目标中生成一次代码无论列出了多少个目标框架 都将运行构建 并让每个目标框架的编译等待代
  • web请求超时处理?

    HttpWebRequest request HttpWebRequest WebRequest Create url request Timeout 20000 using WebResponse response request Get
  • 运行时动态转换

    有没有一种方法可以在运行时动态转换 如以下伪代码 foreach DataRow row in table Rows foreach DataColumn col in table Columns if row col DBNull Val
  • 时间:2019-03-17 标签:c++rapidjson返回值

    我在我的项目中使用rapidjson 我有一个方法可以解析 json 并返回其中的一部分 static rapidjson Document getStructureInfo std string structureType rapidjs
  • 如何使用 Moq 模拟 Web 服务调用?

    The using下面点击了我不想实际点击的外部资源 我想测试someResult以及使用它的代码 但每次我运行单元测试时 该代码仍然尝试访问真正的 Web 服务 如何使用最小起订量来伪造对 Web 服务的真实调用 但不模拟使用中的其余代码
  • 如何BSWAP 64位寄存器的低32位?

    我一直在寻找如何将 BSWAP 用于 64 位寄存器的低 32 位子寄存器的答案 例如 0x0123456789abcdef位于 RAX 寄存器内 我想将其更改为0x01234567efcdab89用一条指令 因为性能 所以我尝试了以下内联
  • 将 dataGridView 绑定到绑定列表并按文本框过滤行

    我正在开发一个 Winforms 应用程序 并且有一个已经绑定到 dataGridView 的对象的 BindingList 我还有一个 过滤器 文本框 如果它们与文本框文本不匹配 我想从 datagridview 行中过滤掉行 我想以某种
  • 更改 RabbitMQ 队列中的参数

    我有一个 RabbitMQ 队列 最初声明如下 var result channel QueueDeclare NewQueue true false false null 我正在尝试添加死信交换 因此我将代码更改为 channel Exc
  • 如何使用SQL Server CE的动态连接字符串?

    我在 Windows 应用程序中使用 SQL Server CE 4 0 并使用实体框架创建它的模型 它工作正常 但我的问题是它没有构造函数来更改连接字符串 并且默认情况下它从app config file using var Contex
  • 当前异常上下文掩盖了先前的错误

    以下是我在 Doug Hellman 网站上名为 masking exceptions catch py 的文件中找到的示例 我暂时无法找到链接 throws 中引发的异常将被丢弃 而 cleanup 中引发的异常将被报告 道格在他的文章中
  • 使用事件处理程序与覆盖事件触发方法

    我正在创建 Button 的子类 并希望向其某些事件 例如 OnClick 添加自定义功能 哪种方式更理想 我是否重写 OnClick protected override void OnClick EventArgs e base OnC
  • 如何检查单元格是否为空 (Excel\VisualC#)

    我的目标是逐行检查Sheet1为了发现有多少行 所以我放了一个 do while 一旦到达空白单元格就应该停止 Example 第 1 行数据第2行数据第3行数据第4行数据第5行数据 第 6 行数据第7行数据 在本例中 我只需要前 5 行
  • 执行按钮单击时使 wpf UI 响应

    在我的 wpf c 应用程序中 当用户按下按钮时会执行一个很长的过程 当按下按钮直到执行完整的代码时 窗口将冻结 用户无法在窗口中执行任何其他任务 如何使按钮单击代码作为后台进程 以便窗口响应用户 我尝试过以下方法 但没有成功 privat
  • 私有静态方法有必要吗?

    原理工程师 https stackoverflow com users 201787 metal在我上一家公司有一条规则private static方法应该作为实现文件中的函数实现 而不是作为类方法 我不记得他的规则是否有任何例外 我在目前
  • 如何使用 np.newaxis?

    What is numpy newaxis https numpy org doc stable reference constants html numpy newaxis我什么时候应该使用它 在一维数组上使用它x产生 gt gt gt
  • 将 JSON 转换为数据表

    我有以下格式的 JSON id 10 name User add false edit true authorize true view true id 11 name Group add true edit false authorize
  • 检测 Windows 重新启动是否是由于 Windows 更新造成的

    我的电脑上的一些应用程序一直在检测 Windows 更新是否重新启动 这是可以观察到的 因为它们会在 Windows 更新自动重启后重新启动 这非常有帮助 因为这些应用程序会重新加载更改 甚至unsaved更改或恢复选项卡 如果是浏览器 执
  • Python 装饰器只是语法糖? [复制]

    这个问题在这里已经有答案了 可能的重复 了解 Python 装饰器 https stackoverflow com questions 739654 understanding python decorators 我对使用 Python 装
  • 如何将谓词作为参数传递#

    如何将谓词传递到方法中 但在没有传递谓词的情况下仍使其工作 我想也许是这样的 但似乎并不正确 private bool NoFilter return true private List

随机推荐

  • Gem-idea:当 HTTP 方法发布、放置或删除时,在 before_filter 中使用验证码自动垃圾邮件防护

    我正在考虑为 Rails 编写一个自动垃圾邮件防护系统 也许我会编写一个公共 gem 我的想法是在 application controller 中包含一个辅助方法 class ApplicationController lt Action
  • Google 翻译 API V2 的速率限制是多少?

    我非常频繁地使用 Google 翻译 API V2 在大约 2000 个请求之后 我开始在返回的 JSON 中得到以下内容 Array error gt Array errors gt Array 0 gt Array domain gt
  • 如果收到警告 Converting to string: TypedValue, 如何识别代码错误的地方?

    以下是 LogCat 的摘录 04 04 19 51 51 270 INFO ActivityManager 57 Starting activity Intent cmp com example app Preferences 04 04
  • 如何让 XAML 中的图像显示为实际大小?

    我有一个27 x 27我在 WPF 中显示的像素图像 但它显示larger比大小window 如何让它显示实际尺寸 替代文本 http www deviantsart com upload m20dk6 png http www devia
  • PHP XSS 预防白名单

    我的网站使用所见即所得编辑器 供用户更新帐户 输入评论和发送私人消息 编辑器 CKEditor 非常适合只允许用户输入有效的输入 但我担心通过 TamperData 或其他方式注入 我如何在服务器端控制这个 我需要将特定标签列入白名单 b
  • 将专用 NV12 视频帧转换为 RGB

    我有一个使用 Android MediaCodec 解码的 H264 流 当我查询输出 MediaFormat 时 颜色格式为 2141391875 显然 这是一种专门的 NV12 变体 称为 HAL PIXEL FORMAT NV12 A
  • 旧的 Top Coder 谜语:通过插入 + 来生成数字

    我正在考虑 给定一串数字 找到该字符串等于某个目标数字所需的最少加法次数 每次添加都相当于在数字字符串中的某处插入一个加号 插入所有加号后 照常计算总和 例如 考虑 303 和目标总和为 6 最佳策略是 3 03 我会用蛮力解决它 如下所示
  • 一个 Node.js 集群可以在 64 位 Wintel PC 上生成多少个子进程?

    我正在运行并发测试 为了简洁起见 为每个欺骗的 http 请求定义了一个进程 对于最多 64 个请求 进程 它工作得很好 但在 65 个请求 进程上就折叠起来了 我在一台 I5 笔记本电脑上运行 Window 7 64 位 具有 4GB R
  • 在 Excel 中通过宏向表添加列时设置列标题

    因此 我正在研究这个宏 它根据表中的其他列自动将列添加到表中 所以这是功能 我在此表中有许多标题为 CY 2010 CY 2020 的列 这些年将不可避免地发生变化 然后我想为每个 CY 列在表中添加一列 此外 我希望这些列的标题与年份相匹
  • 如何检查已触摸对象的 ID (iOS)

    在我的视图中 我有一个包含一堆不同点的数组 然后我通过循环运行该数组以在视图中创建一堆不同的正方形 您还可以看到我尝试使用辅助功能标识符来创建类似 ID 的系统 这可能是一个非常糟糕的做法 但我没有主意了哈哈 这是视图 import Lev
  • MongoDB聚合,按值区间分组,

    MongoDB 文档 id 123213 elevation 2300 area 25 id 343221 elevation 1600 area 35 id 545322 elevation 500 area 12 id 234234 e
  • 查找重复邮寄地址的策略

    我正在尝试想出一种根据相似度分数查找重复地址的方法 考虑这些重复的地址 addr 1 3 FAIRMONT LINK SOUTH addr 2 3 FAIRMONT LINK S addr 3 5703 48TH AVE adrr 4 57
  • 将标头添加到 WCF RequestSecurityToken 消息

    我正在尝试设置将使用 WSHttpBinding 进行通信的客户端 Web 应用程序 和服务 WCF 服务 看来 为了使用此绑定 客户端会发送初步消息来设置通道 客户端和服务之间存在一条服务总线 该总线在自定义标头上进行路由 当使用 Bas
  • 为什么 Glass 缺少 Google Play 服务?

    谷歌眼镜上不包含谷歌播放服务的原因是什么 将来会添加它们吗 看来将来还会在 Glass 上添加 Google Play 服务 有一个问题已被 接受 尽管具有中等优先级 请参阅来自谷歌眼镜官方发行网站
  • 如何从 node_modules 延迟加载外部模块?

    我们可以像这个模块一样延迟加载本地模块 path somePpath loadChildren app path some module SomeModule 我们如何延迟加载来自驻留在node modules中的外部库的模块 要在路由器模
  • 从 ASP 的 Ajax.ActionLink 获取 JsonResult

    如何使用 Ajax ActionLink 从控制器方法实际获取 JSON 我尝试搜索该网站 但我得到的最接近的是返回 JSON 或部分 html 的 ASP NET MVC 控制器操作 https stackoverflow com que
  • 如何从模数、指数和私有指数创建 Crypt::RSA 对象?

    我正在尝试将以下 php 功能移植到 perl public function loadKey mod exp type public rsa new Crypt RSA rsa gt signatureMode CRYPT RSA SIG
  • 如何在webRTC android中将视频流数据录制为mp4?

    请帮我 我在中使用了这个例子https github com pcab AndroidRTC https github com pchab AndroidRTC将视频和音频从 Android 设备流式传输到其他 Android 设备 在这个
  • Scipy Weibull CDF 计算

    我正在 Scipy 中进行生存计算 但无法获得正确的值 My code x a c 1000 1 5 5000 vals exponweib cdf x a c loc 0 scale 1 vals应该等于 0 08555935639278
  • Boost python 导出单例

    我有一个单例 来自 boost serialization class LogManager public boost serialization singleton