Loading...
Searching...
No Matches
Classes | Namespaces | Functions
vector_util.h File Reference

Extensions for the STL vector class. More...

#include <vector>
#include <ostream>
#include <type_traits>
#include "concepts/stringconvert.h"
#include "util/reference.h"
#include "util/type_traits.h"
#include "util/iterator_util.h"
#include "util/multirange_for.h"

Go to the source code of this file.

Classes

class  vector< T >
 
class  vector< T >
 vector<bbm::reference> with casting on the inspectors and iterators More...
 

Namespaces

namespace  bbm
 

Functions

template<typename T >
std::ostream & operator<< (std::ostream &s, const std::vector< T > &vec)
 
Math operators

@{

template<typename T , typename U >
auto & operator+= (vector< T > &v, const U &u)
 
template<typename T , typename U >
auto operator+ (const vector< T > &v, const U &u)
 
template<typename T , typename U >
requires (!is_vector_v<T> && !is_bbm_vector_v<T>)
auto operator+ (const T &v, const vector< U > &u)
 
template<typename T , typename U >
auto & operator-= (vector< T > &v, const U &u)
 
template<typename T , typename U >
auto operator- (const vector< T > &v, const U &u)
 
template<typename T , typename U >
auto & operator*= (vector< T > &v, const U &u)
 
template<typename T , typename U >
auto operator* (const vector< T > &v, const U &u)
 
template<typename T , typename U >
requires (!is_vector_v<T> && !is_bbm_vector_v<T>)
auto operator* (const T &v, const vector< U > &u)
 
template<typename T , typename U >
auto & operator/= (vector< T > &v, const U &u)
 
template<typename T , typename U >
auto operator/ (const vector< T > &v, const U &u)
 
template<typename T , typename U >
auto & operator%= (vector< T > &v, const U &u)
 
template<typename T , typename U >
auto operator% (const vector< T > &v, const U &u)
 

type traits for bbm::vector

template<typename T >
using is_bbm_vector = bbm::detail::is_bbm_vector_impl< std::decay_t< T > >
 
template<typename T >
constexpr bool is_bbm_vector_v = is_bbm_vector<T>::value
 

Detailed Description

Extensions for the STL vector class.