C++ で文字列の繰り返し

某所で少し話題になったのだけれど、例えば Ruby だと

puts "homu" * 10
# => homuhomuhomuhomuhomuhomuhomuhomuhomuhomu


みたいな感じで文字列の繰り返しを書けるのですが、C++ だとどうするのが楽か、という問。
とりあえず、* 演算子でできるように書いてみた。

[ソース]

#include <string>
#include <iostream>

std::string
operator ""_s(char const* str, std::size_t){
    return str;
}

std::string
operator *(std::string const& str, int n){
    if( n < 1 ) return "";
    std::string result;
    result.reserve(str.length() * n);
    for(int i = 0 ; i < n ; ++i){
        result += str;
    }
    return result;
}

int
main(){
    auto result = "homu"_s * 10;
    std::cout << result << std::endl;
    return 0;
}

[出力]

homuhomuhomuhomuhomuhomuhomuhomuhomuhomu


標準ライブラリ、もしくは Boost を使用した場合、何を使用すると楽に書けるだろうか。