有时我需要用户类型的 1 个元素的集合(或任何其他容器)并以这种方式创建它们:
boost::assign::list_of(typeVariable).convert_to_container<std::unordered_set<UserType> >()
Run Code Online (Sandbox Code Playgroud)
有谁知道更漂亮的方法吗?
PS: 例如,我们有任何业务逻辑 API,它搜索元素,并且它采用类型集(或另一个容器)进行选择。不同的用户可以访问不同的类型。我们也可以选择任何一种类型进行过滤,在这种情况下,我们将从过滤选项中采用这种类型。
所以我只是想要一种用 1 行编写代码的简单方法。我当前的版本是:
getElements(filter.type != UNDEFINED
? boost::assign::list_of(filter.type).convert_to_container<std::set<UserType> >()
: std::set<UserType>(allowedTypes.begin(), allowedTypes.end()))
Run Code Online (Sandbox Code Playgroud)