将vector <pair <... >>复制到vector <string>

亚历山大·德卡奇

我正在使用gcc 9.2.0和boost 1.55。

我有2个向量:

vector< pair< string, int > > source;
vector< string > dest;

我需要将源向量转换为dest,该目标应仅包含源向量的字符串元素。

使用boost :: push_back和adapters是否可以实现?

boost::range::push_back( dest, source | ?adaptor? );

目前,我有这个可行的代码,但是应该更改它:

transform( source.begin(), source.end(), back_inserter(dest), __gnu_cxx::select1st< std::pair< std::string, int > >() );
看到

继续发布最小改进的趋势:

实时编译器资源管理器

#include <boost/range/adaptor/map.hpp>
#include <fmt/ranges.h>

using namespace std::string_literals;
using namespace boost::adaptors;

template <typename R>
auto to_vector(R const& range) {
    return std::vector(boost::begin(range), boost::end(range));
}

int main() {
    std::vector source {std::pair {"one"s,1},{"two",2},{"three",3}};

    fmt::print("keys {}\nvalues {}\n",
            source | map_keys,
            source | map_values);
    
    // if you really need the vectors
    auto keys   = to_vector(source | map_keys);
    auto values = to_vector(source | map_values);
}

版画

keys {"one", "two", "three"}
values {1, 2, 3}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将vector <pair <string,int >>中的字符串复制到vector <string>?

来自分类Dev

如何使用CUDA将std :: vector <std :: string>复制到GPU设备

来自分类Dev

将map <string,pair>转移到vector

来自分类Dev

将std :: vector复制到qvector

来自分类Dev

将 std::vector 复制到 boost::interprocess::vector

来自分类Dev

C ++ map <string,vector <pair <string,string>>>:将映射添加到空向量吗?

来自分类Dev

如何在C ++中将insert插入到<string,vector <pair :: <string,string >>>的映射中?

来自分类Dev

将std :: vector复制到std :: array

来自分类Dev

如何将值从safearray复制到vector?

来自分类Dev

将元素从std :: vector复制到std :: stack C ++

来自分类Dev

将CStringArray的内容复制到std :: vector

来自分类Dev

将成员复制到std :: vector

来自分类Dev

将Vector <float>中的数据复制到Vector <Mat>(Opencv / C ++)

来自分类Dev

如何将vector <unique_ptr <T >>复制到独立vector <T *>

来自分类Dev

C ++将pair <int,int>的向量复制到向量<int>

来自分类Dev

将列表的内容复制到Dictionary <int,string>

来自分类Dev

将ObservableCollection <myclass>复制到ObservableCollection <KeyValuePair <string,object >>

来自分类Dev

将vector <vector <char >>转换为vector <string>

来自分类Dev

将POD结构/结构的矢量复制到vector <unsigned char>的最优雅方法

来自分类Dev

如何将std :: vector <const char *>复制到void *中?

来自分类Dev

使用memcpy将vector <double>的内容复制到内存缓冲区中

来自分类Dev

C ++将Raw std :: bytes复制到std :: vector <std :: byte>

来自分类Dev

如何将std :: vector <boost :: shared_ptr <T >>复制到std :: list <T>

来自分类Dev

如何将uint8 *正确复制到vector <Uint8>

来自分类Dev

遍历 vector<vector<pair<int, int> > >

来自分类Dev

如何将两个std :: vector与std :: pair合并为单个std :: vector

来自分类Dev

复制一个std :: vector到boost :: unordered_map <string,std :: vector <foo >>

来自分类Dev

从std :: map <std :: basic_string <char>,std :: pair <int,int(*)(const std :: vector :: Mat

来自分类Dev

将std :: vector <std :: vector <std :: string >>转换为std :: vector <std :: vector <double >>

Related 相关文章

  1. 1

    如何将vector <pair <string,int >>中的字符串复制到vector <string>?

  2. 2

    如何使用CUDA将std :: vector <std :: string>复制到GPU设备

  3. 3

    将map <string,pair>转移到vector

  4. 4

    将std :: vector复制到qvector

  5. 5

    将 std::vector 复制到 boost::interprocess::vector

  6. 6

    C ++ map <string,vector <pair <string,string>>>:将映射添加到空向量吗?

  7. 7

    如何在C ++中将insert插入到<string,vector <pair :: <string,string >>>的映射中?

  8. 8

    将std :: vector复制到std :: array

  9. 9

    如何将值从safearray复制到vector?

  10. 10

    将元素从std :: vector复制到std :: stack C ++

  11. 11

    将CStringArray的内容复制到std :: vector

  12. 12

    将成员复制到std :: vector

  13. 13

    将Vector <float>中的数据复制到Vector <Mat>(Opencv / C ++)

  14. 14

    如何将vector <unique_ptr <T >>复制到独立vector <T *>

  15. 15

    C ++将pair <int,int>的向量复制到向量<int>

  16. 16

    将列表的内容复制到Dictionary <int,string>

  17. 17

    将ObservableCollection <myclass>复制到ObservableCollection <KeyValuePair <string,object >>

  18. 18

    将vector <vector <char >>转换为vector <string>

  19. 19

    将POD结构/结构的矢量复制到vector <unsigned char>的最优雅方法

  20. 20

    如何将std :: vector <const char *>复制到void *中?

  21. 21

    使用memcpy将vector <double>的内容复制到内存缓冲区中

  22. 22

    C ++将Raw std :: bytes复制到std :: vector <std :: byte>

  23. 23

    如何将std :: vector <boost :: shared_ptr <T >>复制到std :: list <T>

  24. 24

    如何将uint8 *正确复制到vector <Uint8>

  25. 25

    遍历 vector<vector<pair<int, int> > >

  26. 26

    如何将两个std :: vector与std :: pair合并为单个std :: vector

  27. 27

    复制一个std :: vector到boost :: unordered_map <string,std :: vector <foo >>

  28. 28

    从std :: map <std :: basic_string <char>,std :: pair <int,int(*)(const std :: vector :: Mat

  29. 29

    将std :: vector <std :: vector <std :: string >>转换为std :: vector <std :: vector <double >>

热门标签

归档