//
// NamedTuple.h
//
// $Id: //poco/1.4/Foundation/include/Poco/NamedTuple.h#1 $
//
// Library: Foundation
// Package: Core
// Module: NamedTuple
//
// Definition of the NamedTuple class.
//
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// Permission is hereby granted, free of charge, to any person or organization
// obtaining a copy of the software and accompanying documentation covered by
// this license (the "Software") to use, reproduce, display, distribute,
// execute, and transmit the Software, and to prepare derivative works of the
// Software, and to permit third-parties to whom the Software is furnished to
// do so, all subject to the following:
//
// The copyright notices in the Software and this entire statement, including
// the above license grant, this restriction and the following disclaimer,
// must be included in all copies of the Software, in whole or in part, and
// all derivative works of the Software, unless such copies or derivative
// works are solely in the form of machine-executable object code generated by
// a source language processor.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
#ifndef Foundation_NamedTuple_INCLUDED
#define Foundation_NamedTuple_INCLUDED
#include "Poco/Foundation.h"
#include "Poco/Tuple.h"
#include "Poco/TypeList.h"
#include "Poco/DynamicAny.h"
#include "Poco/SharedPtr.h"
#include "Poco/Format.h"
namespace Poco {
template<class T0,
class T1 = NullTypeList,
class T2 = NullTypeList,
class T3 = NullTypeList,
class T4 = NullTypeList,
class T5 = NullTypeList,
class T6 = NullTypeList,
class T7 = NullTypeList,
class T8 = NullTypeList,
class T9 = NullTypeList,
class T10 = NullTypeList,
class T11 = NullTypeList,
class T12 = NullTypeList,
class T13 = NullTypeList,
class T14 = NullTypeList,
class T15 = NullTypeList,
class T16 = NullTypeList,
class T17 = NullTypeList,
class T18 = NullTypeList,
class T19 = NullTypeList>
struct NamedTuple: public Tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>
{
typedef Tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19> TupleType;
typedef typename Tuple<T0,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19>::Type Type;
typedef std::vector<std::string> NameVec;
typedef SharedPtr<NameVec> NameVecPtr;
NamedTuple(): _pNames(0)
{
init();
}
NamedTuple(const NameVecPtr& rNames)
{
if (rNames->size() != TupleType::length)
throw InvalidArgumentException("Wrong names vector length.");
_pNames = rNames;
}
NamedTuple(typename TypeWrapper<T0>::CONSTTYPE& t0,
typename TypeWrapper<T1>::CONSTTYPE& t1 = POCO_TYPEWRAPPER_DEFAULTVALUE(T1),
typename TypeWrapper<T2>::CONSTTYPE& t2 = POCO_TYPEWRAPPER_DEFAULTVALUE(T2),
typename TypeWrapper<T3>::CONSTTYPE& t3 = POCO_TYPEWRAPPER_DEFAULTVALUE(T3),
typename TypeWrapper<T4>::CONSTTYPE& t4 = POCO_TYPEWRAPPER_DEFAULTVALUE(T4),
typename TypeWrapper<T5>::CONSTTYPE& t5 = POCO_TYPEWRAPPER_DEFAULTVALUE(T5),
typename TypeWrapper<T6>::CONSTTYPE& t6 = POCO_TYPEWRAPPER_DEFAULTVALUE(T6),
typename TypeWrapper<T7>::CONSTTYPE& t7 = POCO_TYPEWRAPPER_DEFAULTVALUE(T7),
typename TypeWrapper<T8>::CONSTTYPE& t8 = POCO_TYPEWRAPPER_DEFAULTVALUE(T8),
typename TypeWrapper<T9>::CONSTTYPE& t9 = POCO_TYPEWRAPPER_DEFAULTVALUE(T9),
typename TypeWrapper<T10>::CONSTTYPE& t10 = POCO_TYPEWRAPPER_DEFAULTVALUE(T10),
typename TypeWrapper<T11>::CONSTTYPE& t11 = POCO_TYPEWRAPPER_DEFAULTVALUE(T11),
typename TypeWrapper<T12>::CONSTTYPE& t12 = POCO_TYPEWRAPPER_DEFAULTVALUE(T12),
typename TypeWrapper<T13>::CONSTTYPE& t13 = POCO_TYPEWRAPPER_DEFAULTVALUE(T13),
typename TypeWrapper<T14>::CONSTTYPE& t14 = POCO_TYPEWRAPPER_DEFAULTVALUE(T14),
typename TypeWrapper<T15>::CONSTTYPE& t15 = POCO_TYPEWRAPPER_DEFAULTVALUE(T15),
typename TypeWrapper<T16>::CONSTTYPE& t16 = POCO_TYPEWRAPPER_DEFAULTVALUE(T16),
typename TypeWrapper<T17>::CONSTTYPE& t17 = POCO_TYPEWRAPPER_DEFAULTVALUE(T17),
typename TypeWrapper<T18>::CONSTTYPE& t18 = POCO_TYPEWRAPPER_DEFAULTVALUE(T18),
typename TypeWrapper<T19>::CONSTTYPE& t19 = POCO_TYPEWRAPPER_DEFAULTVALUE(T19)):
TupleType(t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18,t19),
_pNames(0)
{
init();
}
NamedTuple(const NameVecPtr& rNames,
typename TypeWrapper<T0>::CONSTTYPE& t0,
typename TypeWrapper<T1>::CONSTTYPE& t1 = POCO_TYPEWRAPPER_DEFAULTVALUE(T1),
typename TypeWrapper<T2>::CONSTTYPE& t2 = POCO_TYPEWRAPPER_DEFAULTVALUE(T2),
typename TypeWrapper<T3>::CONSTTYPE& t3 = POCO_TYPEWRAPPER_DEFAULTVALUE(T3),
typename TypeWrapper<T4>::CONSTTYPE& t4 = POCO_TYPEWRAPPER_DEFAULTVALUE(T4),
typename TypeWrapper<T5>::CONSTTYPE& t5 = POCO_TYPEWRAPPER_DEFAULTVALUE(T5),
typename TypeWrapper<T6>::CONSTTYPE& t6 = POCO_TYPEWRAPPER_DEFAULTVALUE(T6),
typename TypeWrapper<T7>::CONSTTYPE& t7 = POCO_TYPEWRAPPER_DEFAULTVALUE(T7),
typename TypeWrapper<T8>::CONSTTYPE& t8 = POCO_TYPEWRAPPER_DEFAULTVALUE(T8),
typename TypeWrapper<T9>::CONSTTYPE& t9 = POCO_TYPEWRAPPER_DEFAULTVALUE(T9),
typename TypeWrapper<T10>::CONSTTYPE& t10 = POCO_TYPEWRAPPER_DEFAULTVALUE(T10),
typename TypeWrapper<T11>::CONSTTYPE& t11 = POCO_TYPEWRAPPER_DEFAULTVALUE(T11),
typename TypeWrapper<T12>::CONSTTYPE& t12 = POCO_TYPEWRAPPER_DEFAULTVALUE(T12),
typename TypeWrapper<T13>::CONSTTYPE& t13 = POCO_TYPEWRAPPER_DEFAULTVALUE(T13),
typename TypeWrapper<T14>::CONSTTYPE& t14 = POCO_TYPEWRAPPER_DEFAULTVALUE(T14),
typename TypeWrapper<T15>::CONSTTYPE& t15 = POCO_TYPEWRAPPER_DEFAULTVALUE(T15),
typename TypeWrapper<T16>::CONSTTYPE& t16 = POCO_TYPEWRAPPER_DEFAULTVALUE(T16),
typename TypeWrapper<T17>::CONSTTYPE& t17 = POCO_TYPEWRAPPER_DEFAULTVALUE(T17),
typename TypeWrapper<T18>::CONSTTYPE& t18 = POCO_TYPEWRAPPER_DEFAULTVALUE(T18),
typename TypeWrapper<T19>::CONSTTYPE& t19 = POCO_TYPEWRAPPER_DEFAULTVALUE(T19)):
TupleType(t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18,t19)
{
if (rNames->size() != TupleType::length)
throw InvalidArgumentException("Wrong names vector length.");
_pNames = rNames;
}
NamedTuple(const std::string& n0,
typename TypeWrapper<T0>::CONSTTYPE& t0,
const std::string& n1 = "B",
typename TypeWrapper<T1>::CONSTTYPE& t1 = POCO_TYPEWRAPPER_DEFAULTVALUE(T1),
const std::string& n2 = "C",
typename TypeWrapper<T2>::CONSTTYPE& t2 = POCO_TYPEWRAPPER_DEFAULTVALUE(T2),
const std::string& n3 = "D",
typename TypeWrapper<T3>::CONSTTYPE& t3 = POCO_TYPEWRAPPER_DEFAULTVALUE(T3),
const std::string& n4 = "E",
typename TypeWrapper<T4>::CONSTTYPE& t4 = POCO_TYPEWRAPPER_DEFAULTVALUE(T4),
const std::string& n5 = "F",
typename TypeWrapper<T5>::CONSTTYPE& t5 = POCO_TYPEWRAPPER_DEFAULTVALUE(T5),
const std::string& n6 = "G",
typename TypeWrapper<T6>::CONSTTYPE& t6 = POCO_TYPEWRAPPER_DEFAULTVALUE(T6),
const std::string& n7 = "H",
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
在浏览器中分享你的桌面 (632个子文件)
ShowScreenInWeb.aps 102KB
TcpManager.cpp 4KB
ShowScreenInWebDlg.cpp 2KB
ShowScreenInWeb.cpp 2KB
stdafx.cpp 148B
PocoFoundationd.dll 2.5MB
PocoNetd.dll 1.42MB
ShowScreenInWeb.vcxproj.filters 2KB
NamedTuple.h 159KB
zlib.h 79KB
TypeHandler.h 74KB
Tuple.h 57KB
DynamicAnyHolder.h 53KB
DynamicAny.h 53KB
expat.h 40KB
Units.h 35KB
Logger.h 28KB
NumberFormatter.h 20KB
Application.h 18KB
SocketImpl.h 15KB
String.h 15KB
Socket.h 15KB
Path.h 14KB
XMLWriter.h 14KB
FTPClientSession.h 14KB
zconf.h 14KB
ParserEngine.h 13KB
IPAddress.h 13KB
Node.h 13KB
ZipLocalFileHeader.h 13KB
ContentHandler.h 13KB
RegularExpression.h 13KB
ZipFileInfo.h 13KB
LinearHashTable.h 12KB
LocalDateTime.h 12KB
ActiveResult.h 12KB
AbstractEvent.h 12KB
AbstractConfiguration.h 12KB
URI.h 12KB
DateTime.h 12KB
HTTPClientSession.h 12KB
Session.h 12KB
AbstractCache.h 11KB
Extraction.h 11KB
Document.h 11KB
TypeList.h 11KB
ClassLoader.h 11KB
ServerApplication.h 10KB
Exception.h 10KB
FileChannel.h 10KB
SimpleHashTable.h 10KB
HashTable.h 10KB
Option.h 10KB
MailMessage.h 10KB
XMLReader.h 10KB
AttributesImpl.h 9KB
RecordSet.h 9KB
WebSocket.h 9KB
Element.h 9KB
NamespaceSupport.h 9KB
SocketDefs.h 9KB
HTTPResponse.h 9KB
Preparation.h 9KB
SocketReactor.h 9KB
SharedPtr.h 9KB
DateTimeFormatter.h 9KB
AtomicCounter.h 9KB
TreeWalker.h 9KB
Any.h 9KB
XMLConfiguration.h 8KB
TextEncoding.h 8KB
Timer.h 8KB
File.h 8KB
HTMLForm.h 8KB
InflatingStream.h 8KB
Binding.h 8KB
PriorityDelegate.h 8KB
Message.h 8KB
AutoPtr.h 8KB
Thread.h 8KB
DialogSocket.h 8KB
DeflatingStream.h 8KB
Attr.h 8KB
Mutex.h 8KB
Format.h 8KB
Timespan.h 8KB
HTTPCookie.h 8KB
BinaryWriter.h 7KB
Event.h 7KB
SocketConnector.h 7KB
Platform.h 7KB
POP3ClientSession.h 7KB
ThreadPool.h 7KB
StatementImpl.h 7KB
ActiveMethod.h 7KB
PartialStream.h 7KB
Diagnostics.h 7KB
SAXException.h 7KB
CryptoStream.h 7KB
InputSource.h 7KB
共 632 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
魔鬼在念经
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- HandTrackingModule.py
- Python基于卷积神经网络的鸟类识别项目源代码,ipynb文件
- 批量将py编译为pyd文件.atbx
- Python项目-学生管理系统
- 图像处理基于matlab图像RGB三色合成分离【含Matlab源码第1发】
- verilog HDL硬件语法设计包括算术运算三人表决器Verilog的阻塞和非阻塞赋值源码例程quartus13.1工程合集
- 【文章话题分类论文】OpenAlex Topic Classification Whitepaper
- linux学习常用命令
- 功率拓扑快速参考指南-ti,TI官方出品
- 开源2023电赛国赛运动目标控制(E题)视觉部分
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功