SyTen
span.h File Reference

A non-owning object for a continuous region of memory. More...

#include <algorithm>
#include <iostream>
#include <array>
#include "inc/util/restrict.h"
#include "inc/util/macros.h"
#include "inc/util/abs_real_imag_conj.h"
+ Include dependency graph for span.h:
+ This graph shows which files directly or indirectly include this file:

Classes

class  syten::SpanImpl::ConstSpan< T >
 ConstSpan is a non-owning constant reference to a continuous array of objects. More...
 
class  syten::SpanImpl::MutSpan< T >
 MutSpan is a non-owning reference to a continuous array of objects which can be mutated through the span. More...
 

Namespaces

namespace  syten
 Syten namespace.
 
namespace  syten::SpanImpl
 Implementation namespace for MutSpan and ConstSpan.
 

Typedefs

template<typename T >
using syten::ConstSpan = SpanImpl::ConstSpan< T >
 Range of constant elements. More...
 
template<typename T >
using syten::MutSpan = SpanImpl::MutSpan< T >
 Range of mutable elements. More...
 

Functions

template<typename Scalar >
void syten::SpanImpl::conj_copy (ConstSpan< Scalar > const inp, MutSpan< Scalar > out)
 Copies data from inp to out and complex-conjugates it. More...
 
template<typename T >
bool syten::SpanImpl::is_sorted (ConstSpan< T > c)
 Returns true if the span is sorted according to operator< (smallest first). More...
 
template<typename T >
std::ostreamsyten::SpanImpl::operator<< (std::ostream &out, ConstSpan< T > cs)
 Output for a ConstSpan. More...
 
template<typename T >
std::ostreamsyten::SpanImpl::operator<< (std::ostream &out, MutSpan< T > cs)
 Output for a MutSpan. More...
 
template<typename Container , typename T >
bool syten::SpanImpl::operator== (ConstSpan< T > const &m, Container const &c)
 Element-wise equality comparison for a ConstSpan with any container. More...
 
template<typename Container , typename T >
bool syten::SpanImpl::operator== (Container const &c, ConstSpan< T > const &m)
 Element-wise equality comparison for a ConstSpan with any container. More...
 
template<typename Container , typename T >
bool syten::SpanImpl::operator== (Container const &c, MutSpan< T > const &m)
 Element-wise equality comparison for a MutSpan with any container. More...
 
template<typename Container , typename T >
bool syten::SpanImpl::operator== (MutSpan< T > const &m, Container const &c)
 Element-wise equality comparison for a MutSpan with any container. More...
 
template<typename T >
void syten::SpanImpl::reverse (MutSpan< T > m)
 Reverses the elements in the mutable span m in-place. More...
 

Detailed Description

A non-owning object for a continuous region of memory.