问题描述
为了简单起见,我只想接受只包含数字类型元素的元组。我该怎么办?
例如
std::tuple<int16_t,int32_t> // satisfies concept
std::tuple<std::string,double> // doesn't satisfy concept
问题是我必须制定类似“ for_each_type”的内容。同样,递归概念也是不允许的。
解决方法
足够简单:
namespace impl {
template <class T>
struct is_tuple_of_integrals
: std::false_type { };
template <std::integral... Ts>
struct is_tuple_of_integrals<std::tuple<Ts...>>
: std::true_type { };
}
template <class T>
concept tuple_of_integrals = impl::is_tuple_of_integrals<T>::value;
我确实想知道是否可以忽略中间特征,但是缺少我不相信的概念专长。
,我的解决方案:
const myForm = new FormGroup({
email: new FormControl('',[Validators.required,Validators.email])});
const dialogRef = this.dialogService.open(CustomDialogComponent,{
hasBackdrop: true,disableClose: true,panelClass: 'myapp-no-padding-dialog',data: {
title: 'Title',*formGroup: myForm*
}
});
我用折叠表达这个概念。