`
nuaa_liu
  • 浏览: 25913 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

loki::typelist

 
阅读更多

loki的typelist用来形成class的list

依赖于递归行为 只不过在编译期执行

 

namespace loki
{
	class NullType;
	struct EmptyType {};
		
	template<class T, class u>
	struct TypeList
	{
		typedef T Head;
		typedef U Tail;
	};

	typedef TypeList<char, TypeList<signed char, TypeList<unsigned char,NullType> > > CharList;


	#define TYPELIST_1(T1) TypeList<T1,NullType>
	#define TYPELIST_2(T1,T2) TypeList<T1, TYPELIST_1(T2)>
	#define TYPELIST_3(T1,T2,T3) TypeList<T1,TYPELIST_2<T2,T3>>

	//计算typelist的长度
	template <class TList> struct Length;
	template <>
	Length<NullType>
	{
		enum {value = 0};
	};

	template<class T,class U>
	struct Length<TypeList<T,U> >
	{
		enum { value = 1 + Length<U>::value};
	};

	//在typelist中查找某一type
	template<class Tlist,class T> struct Indexof;
	template<class T>
	struct Indexof<NullType,T>
	{
		enum { value = -1};	
	};

	template <class Tail, class T>
	struct Indexof<TypeList<T,Tail>, T>
	{
		enum {value = 0};
	};

	template <class Head,class Tail,class T>
	struct Indexof<TypeList<Head,Tail>,T>
	{
	private:
		enum {temp = Indexof<Tail,T>::value};
	public:
		enum {value = temp==-1?-1:1+temp};
	};

	//list其他一些行为
        //append
	//erase
	//replace
	
}
 
分享到:
评论

相关推荐

    Loki singleton

    typedef Loki::SingletonHolder&lt;MyClass&gt; MyClassSingleton; ``` 在这个例子中,`MyClassSingleton`现在是一个全局的、线程安全的单例,你可以通过`MyClassSingleton::Instance()`获取到唯一的`MyClass`实例。 ...

    Loki库中SingletonHolder的多线程改进

    Loki是套非常实用的模板库,这不用多说了吧。 其中的SingletonHolder非常方便创建我们自己的 Singleton类。但是在多线程这块,它只保证了 多线程情况下对该singleton对象创建操作的串行化,没有对singleton对象访问...

    ansible-loki:Ansible角色来安装Grafana Loki和Promtail

    Ansible-loki Ansible角色,用于安装Grafana Loki和Promtail。要求对于loki / promtail的标准(来自二进制)安装: 在主机上unzip 对于dockerized的promtail: Python: docker==4.3.1 docker-cli角色变量请参阅...

    loki:与Prometheus相似,但用于原木

    与其他日志聚合系统相比,Loki: 不对日志进行全文本索引。 通过存储压缩的,非结构化的日志以及仅索引元数据,Loki更加易于操作且运行成本更低。 使用与Prometheus相同的标签对日志流进行索引和分组,从而使您...

    python-logging-loki:Loki的Python日志记录处理程序

    python-logging-loki Loki的Python日志记录处理程序。 安装 pip install python-logging-loki 用法 import logging import logging_loki handler = logging_loki . LokiHandler ( url = ...

    ansible-role-loki:安装本地Loki以便将日志文件提取到grafana中

    **Ansible 角色 Loki: 为Grafana集成日志收集** Ansible 是一个强大的自动化工具,广泛用于配置管理、应用部署和任务执行。在本场景中,`ansible-role-loki` 是一个预定义的角色,专为安装和配置 Loki 设计,Loki ...

    fluent-bit-go-loki:[已弃用] Loki的流利位输出插件的前身。 https

    流利的loki输出插件 注意! fluent-bit-go-loki现在已合并到。 Windows二进制文件在中可用。 DockerHub中提供了基本映像。 该插件与fluent-bit的go插件界面一起使用。 您可以使用流利的loki将日志与loki一起发送...

    connect-loki:用于ConnectExpress的Loki.js会话存储

    connect-loki 用于Connect / Express的Loki.js会话存储 设置 npm install connect-loki express-session 将express-session存储传递到connect-loki以创建LokiStore构造函数。 var session = require ( 'express-...

    addon-loki:Loki家庭助理

    家庭助理加载项:Loki 像普罗米修斯一样,但是是原木! :warning:阿尔法前阶段-如果您偶然发现此内容,则它处于非常早期的阶段。预计问题会随时发生变化。 是受Prometheus启发的水平可扩展,高度可用的多租户日志...

    loki:Laravel定位正确

    无论mcamara/laravel-localization软件包可以做什么,Loki都可以做,但是更好。产品特点 安装简单 易于配置 自定义语言环境 隐藏默认语言环境 翻译路线 语言选择器 路由缓存 本机Laravel辅助函数( route和

    Loki日志聚合系统安装文档.pdf

    * 输入以下命令启动Loki:./loki-linux-amd64 -config.file=loki-local-config.yaml 六、总结 Loki是一款功能强大的日志聚合系统,提供了高效、可靠的日志采集、存储和查询解决方案。本文档提供了Loki安装文档的...

    loki:Loki是一个库,其中包括用于构建功能强大的交互式命令行应用程序,任务,模块的助手

    Loki,作为Elixir语言中的一个库,旨在为开发者提供构建高效、互动式命令行工具的强大支持。在Elixir生态系统中,Loki扮演着一个助手的角色,帮助开发者轻松创建具有模块化特性的任务和应用程序。这个库的出现,使得...

    ansible-role-loki:grafana loki的角色

    有关可能的设置和格式,请该角色仅安装loki。 有关,请参见此 兼容性 该角色与任何现代的基于systemd的发行版兼容。 角色变量 变量名 默认值 描述 loki_version 2.1.0 loki的版本 loki_system_user loki 运行...

    Loki:一个轻量级Web蜜罐-A Little WebHoneypot.:honey_pot::honey_pot::honey_pot::honeybee::honeybee::honeybee:

    编辑application.yml修改默认后台,端口,账号密码等配置,然后执行java -jar loki.jar启动项目。 了解更多: : server: port: 80 #多端口配置 multiPorts: 81-90,7000-10000,65535 ssl: enabled: false #...

    Loki:Loki-简单的IOC和事件响应扫描程序

    Loki-简单的IOC扫描仪扫描仪,用于简单的危害指标检测基于四种检测方法: 文件名IOC 正则表达式匹配完整的文件路径/名称亚拉规则检查文件数据和过程存储器上的Yara签名匹配哈希检查将已知的恶意哈希(MD5,SHA1,SHA...

    serilog-sinks-grafana-loki:一个Serilog接收器将日志事件发送到Grafana Loki

    Serilog.Sinks.Grafana.Loki 目录 这水槽和洛基是什么? Serilog Grafana Loki接收器项目是Serilog日志记录框架的接收器(基本上是编写器)。 结构化的日志事件被写入接收器,每个接收器负责将其写入其自己的后端,...

    Loki:C ++ 17国际象棋引擎

    洛基Loki是用C ++编写的符合UCI的国际象棋引擎。 目前,据估计它的强度约为1773,但希望会大大提高。为什么叫这个名字? 经过一番谷歌搜索后,我发现有人建议使用一个描述程序功能的名称(duh ..)。 然后,我认为...

    Serilog-Sinks-Loki:Grafana的新Prometheus启发式原木聚合器Loki的Serilog水槽

    Serilog.Sinks.Loki 这是Grafana的新型的Serilog接收。 什么是Loki? Loki是受Prometheus启发的水平可扩展,高度可用的多租户日志聚合系统。 它被设计为具有很高的成本效益并且易于操作,因为它不索引日志的内容...

    Grafana Loki:受Prometheus启发的多租户日志聚合系统-开源

    Loki是受Prometheus启发的水平可扩展,高度可用的多租户日志聚合系统。 它被设计为非常具有成本效益并且易于操作。 它不索引日志的内容,而是为每个日志流设置一组标签。 与其他日志记录系统不同,Loki是基于仅索引...

Global site tag (gtag.js) - Google Analytics