def stringListToStdVectorStdVectorString(string_list): """ Converts a list of strings to a std::vector<std::vector<std::string> > object with one elemnt in each of the inner vectors. :param string_list: The list of strings. :returns: A corresponding std::vector<std::vector<std::string> > object. """ # Get the size. size = len(string_list) # Setup the c++ object. cpp_list = Backend.StdVectorStdVectorString() # Copy values over. for s in string_list: cpp_list.push_back(Backend.StdVectorString(1, s)) # Done. return cpp_list
def bucketListToStdVectorStdVectorString(bucket_list): """ Converts a list of the format [[(n,"A"), ...], ...] to a std::vector< std::vector<std::string> > representation. :param bucket_list: The list to convert. :returns: A corresponding std::vector<std::vector<std::string> > object. """ cpp_list = Backend.StdVectorStdVectorString() # For each site. for ss in bucket_list: # For all types at this site. site_list = Backend.StdVectorString() for s in ss: # Add the number of types. for i in range(s[0]): site_list.push_back(s[1]) cpp_list.push_back(site_list) # Done. return cpp_list