carl  24.04
Computer ARithmetic Library
streamingOperators.h File Reference
#include <cassert>
#include <forward_list>
#include <iostream>
#include <list>
#include <map>
#include <optional>
#include <set>
#include <tuple>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <variant>
#include <vector>
#include <deque>
#include "boost/container/flat_set.hpp"
#include "boost/container/flat_map.hpp"
Include dependency graph for streamingOperators.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  carl::detail::stream_joined_impl< T, F >
 

Namespaces

 carl
 carl is the main namespace for the library.
 
 carl::detail
 

Functions

template<typename T >
std::ostream & carl::operator<< (std::ostream &os, const std::forward_list< T > &l)
 Output a std::forward_list with arbitrary content. More...
 
template<typename T >
std::ostream & carl::operator<< (std::ostream &os, const std::initializer_list< T > &l)
 Output a std::initializer_list with arbitrary content. More...
 
template<typename T >
std::ostream & carl::operator<< (std::ostream &os, const std::list< T > &l)
 Output a std::list with arbitrary content. More...
 
template<typename Key , typename Value , typename Comparator >
std::ostream & carl::operator<< (std::ostream &os, const std::map< Key, Value, Comparator > &m)
 Output a std::map with arbitrary content. More...
 
template<typename Key , typename Value , typename Comparator >
std::ostream & carl::operator<< (std::ostream &os, const std::multimap< Key, Value, Comparator > &m)
 Output a std::multimap with arbitrary content. More...
 
template<typename T >
std::ostream & carl::operator<< (std::ostream &os, const std::optional< T > &o)
 Output a std::optional with arbitrary content. More...
 
template<typename U , typename V >
std::ostream & carl::operator<< (std::ostream &os, const std::pair< U, V > &p)
 Output a std::pair with arbitrary content. More...
 
template<typename T , typename C >
std::ostream & carl::operator<< (std::ostream &os, const std::set< T, C > &s)
 Output a std::set with arbitrary content. More...
 
template<typename... T>
std::ostream & carl::operator<< (std::ostream &os, const std::tuple< T... > &t)
 Output a std::tuple with arbitrary content. More...
 
template<typename Key , typename Value , typename H , typename E , typename A >
std::ostream & carl::operator<< (std::ostream &os, const std::unordered_map< Key, Value, H, E, A > &m)
 Output a std::unordered_map with arbitrary content. More...
 
template<typename T , typename H , typename K , typename A >
std::ostream & carl::operator<< (std::ostream &os, const std::unordered_set< T, H, K, A > &s)
 Output a std::unordered_set with arbitrary content. More...
 
template<typename T , typename... Tail>
std::ostream & carl::operator<< (std::ostream &os, const std::variant< T, Tail... > &v)
 Output a std::variant with arbitrary content. More...
 
template<typename T >
std::ostream & carl::operator<< (std::ostream &os, const std::vector< T > &v)
 Output a std::vector with arbitrary content. More...
 
template<typename T >
std::ostream & carl::operator<< (std::ostream &os, const std::deque< T > &v)
 Output a std::deque with arbitrary content. More...
 
template<typename T >
auto carl::stream_joined (const std::string &glue, const T &v)
 Allows to easily output some container with all elements separated by some string. More...
 
template<typename T , typename F >
auto carl::stream_joined (const std::string &glue, const T &v, F &&f)
 Allows to easily output some container with all elements separated by some string. More...
 
template<typename T , typename C >
std::ostream & carl::operator<< (std::ostream &os, const boost::container::flat_set< T, C > &s)
 Output a boost::container::flat_set with arbitrary content. More...
 
template<typename Tuple , std::size_t... I>
std::ostream & carl::detail::stream_tuple_impl (std::ostream &os, const Tuple &t, std::index_sequence< I... >)
 Helper function that actually outputs a std::tuple. More...
 
template<class Key , class T , class Compare , class AllocatorOrContainer >
std::ostream & carl::operator<< (std::ostream &os, const boost::container::flat_map< Key, T, Compare, AllocatorOrContainer > &m)
 Output a boost::container::flat_map with arbitrary content. More...
 
template<typename T , typename F >
std::ostream & carl::detail::operator<< (std::ostream &os, const stream_joined_impl< T, F > &sji)
 

Detailed Description

Author
Gereon Kremer gereo.nosp@m.n.kr.nosp@m.emer@.nosp@m.cs.r.nosp@m.wth-a.nosp@m.ache.nosp@m.n.de

This file contains streaming operators for most of the STL containers.

Definition in file streamingOperators.h.