C++Guns – RoboBlog

02.06.2018

C++ Guns: print std::array or std::tuple with std::apply and fold

Filed under: Allgemein — Tags: — Thomas @ 10:06

Part 1: print std::array with std:integer_sequence
Part 2: convert tuple to parameter pack
Part 3: print std::array or std::tuple with std::apply and fold

Da ein std::array eigentlich auch nur so etwas wie ein tuple ist, nur nicht mit unterschiedlichen Typen, kann die ganze parameter pack und fold Sache auch auf std::array angewandt werden.

template<typename T, size_t N>
std::ostream& operator<<(std::ostream& s, const std::array<T,N>& arr) {
    std::apply([&](const auto&...v){ (s << ... << v);  }, arr); 
    return s;
}
 
void func(const std::array<double,2>& arr) {
    std::cout << arr;
}

Ja, eigentlich ganz hübsch.

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress