- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
是否有一种简洁的方法来获取满足Hana中的谓词的元组元素的索引序列? ?
这是我只使用标准库为此编写的代码:
template <template<typename> typename Pred, typename Tuple>
class get_indices_of {
static constexpr size_t size = std::tuple_size<Tuple>::value;
template <size_t I, size_t... II> struct impl {
using type = std::conditional_t<
Pred<std::tuple_element_t<I,Tuple>>::value,
typename impl<I+1, II..., I>::type,
typename impl<I+1, II...>::type >;
};
template <size_t... II> struct impl<size,II...> {
using type = std::index_sequence<II...>;
};
public:
using type = typename impl<0>::type;
};
template <template<typename> typename Pred, typename Tuple>
using get_indices_of_t = typename get_indices_of<Pred,Tuple>::type;
使用示例:
using types = std::tuple<std::string,int,double,char>;
using ints = get_indices_of_t<std::is_integral,types>;
ints
的类型现在是std::index_sequence<1ul, 3ul>
.
最佳答案
我猜是这样的:
constexpr auto get_indices_of = [](auto tuple, auto predicate){
constexpr auto indices = to<tuple_tag>(range_c<std::size_t, 0, size(tuple)>);
return filter(indices, [=](auto i){ return predicate(tuple[i]); });
};
唯一尴尬的部分是获取索引,因为 range_c
本身不是 MonadPlus。您使用此函数的实际示例是:
constexpr auto types = make_tuple(
type_c<std::string>, type_c<int>, type_c<double>, type_c<char>);
constexpr auto ints = get_indices_of(types, trait<std::is_integral>);
关于c++ - Hana 中满足谓词的元组元素索引序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44935075/
unix 时间戳值通过 MySQL DB 的数据服务传入 HANA。 但是,我可以使用以下语句找到日期,但想知道 SAP HANA 或数据服务设计器中是否有任何内置函数可以完成这项工作?还有什么方法可
unix 时间戳值通过 MySQL DB 的数据服务传入 HANA。 但是,我可以使用以下语句找到日期,但想知道 SAP HANA 或数据服务设计器中是否有任何内置函数可以完成这项工作?还有什么方法可
这是我的存储过程,我试图获取最后插入的 DepartmentId。不寻找没有 MAX(DepartmentId) 的触发器和任何解决方案。 CREATE PROCEDURE "BPPRA_CUSTOM
我目前正在通过 ABAP 对象为 HANA 编写数据库过程。我想返回一个标量值,它是根据选择而不是其他开发人员必须从表中读取的表计算得出的。我宁愿不通过导入/导出参数声明要在存储过程中使用的变量。 m
我有一个查询将当前年份作为占位符参数传递,该参数现在是硬编码的。我怎样才能让这个刚刚过去一年?我见过一些不同的潜在解决方案,但其中大部分都在 HANA Studio 中或涉及动态 SQL 生成。 我正
我正在尝试使用 HANA XS Javascript 实现简单的产品目录。目录的页面应该在服务器端呈现。 如何根据从 HANA 数据库读取的数据处理“动态”URL?例如,http:///myapp/s
我有一个 hana::tuple_t ,我想用它来创建一个 hana::tuple . 我认为使用 hana::to将转换 hana::tuple_t进入hana::tuple ;但事实并非如此,因为
我在调用 HANA 存储过程时遇到语法错误。在 Hana Studio 的 SQL 编辑器中它可以工作,但 Java 中的prepareCall 的语法必须不同。我认为这是包名称后面的正斜杠,但不知道
谁能解释一下 SAP HANA 和 SAP HANA Vora 的智能数据访问 之间的区别? 据我了解,SDA 只是创建了一些虚拟表,可以像这样访问外部系统(如 Hadoop 和许多其他 ODBC 数
是否存在编译时将 Struct 概念的成员类型转换为类型名称的 std::string 的 STL 容器的 Boost Hana 方法? 例如, MyType t(); std::array ls =
我有一个带有单个 varchar 字段的 SAP HANA Vora 虚拟表。我尝试从 SAP HANA Studio 对此 Vora 虚拟表执行以下查询: INSERT INTO "BPINST".
我一直在使用我自己编写的精简版 mpl,但我需要它更健壮。目前,我正在考虑使用 boost::hana,它似乎拥有我需要的一切,但有一个异常(exception):我看不出有任何方法可以将 hana:
我正在安装 HANA Studio,并且已下载 JDK 1.8 和 JDK 1.7。我将 JDK 1.8 用于 Eclipse 和我正在处理的其他一些事情,但是当我尝试通过 SAP HANA 生命周期
您好,我正在尝试编写一个查询来使用中间输出。 我有一个以 PROD_DATE、PRICE 作为列的表,当我在 HANA 中给出以下查询时,查询将按预期执行。 select round(days_bet
由于 SQL 知识有限,我在 HANA 数据库上编写了一个过程,这里是我的代码的一小部分。 CREATE PROCEDURE _SYS_BIC.claims(OUT percent_value dis
我想查询 sap-hana 数据库中的系统表以提取有关外键的信息。有“索引”和“索引列”系统表,但我只看到“约束”列包含“主键”和“?”值,但不是外键值。对此高度赞赏的任何帮助。 最佳答案 检查系统表
有没有办法在 HANA 中拆分字符串? 类似于 SQL Server 中的等效项:SELECT * FROM dbo.fnSplitString('valueA,valueB', ',') 最佳答案
所以我有一个基表 - TRAINING,它有 100 列。有些列将完全为 NULL,有些列将包含值。因此,假设 COLUMN 1-20 为空,COLUMN 21-100 不为 NULL。 我有另一个名
是否有一种简洁的方法来获取满足Hana中的谓词的元组元素的索引序列? ? 这是我只使用标准库为此编写的代码: template typename Pred, typename Tuple> clas
所以,我了解如何在 HANA 中创建触发器,但是 HANA reference material 中的示例不要提及表 A 上的触发器如何更新表 A;相反, Material 总是在 A 更新 B 时触
我是一名优秀的程序员,十分优秀!