Gemmi C++ API
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
gemmi::Span< Item > Struct Template Reference

#include <span.hpp>

Inheritance diagram for gemmi::Span< Item >:
[legend]

Public Types

using iterator = Item *
 
using const_iterator = Item const *
 
using element_type = Item
 
using value_type = typename std::remove_cv< Item >::type
 

Public Member Functions

 Span ()=default
 
 Span (iterator begin, std::size_t n)
 
template<typename T = Item>
 Span (const Span< value_type > &o, typename std::enable_if< std::is_const< T >::value >::type *=0)
 
void set_begin (iterator begin)
 
void set_size (std::size_t n)
 
const_iterator begin () const
 
const_iterator end () const
 
iterator begin ()
 
iterator end ()
 
Item & front ()
 
const Item & front () const
 
Item & back ()
 
const Item & back () const
 
const Item & operator[] (std::size_t i) const
 
Item & operator[] (std::size_t i)
 
Item & at (std::size_t i)
 
const Item & at (std::size_t i) const
 
std::size_t size () const
 
bool empty () const
 
 operator bool () const
 
template<typename Iter >
Span< Item > sub (Iter first, Iter last)
 
template<typename F , typename V = Item>
Span< Vsubspan (F &&func)
 
template<typename F >
Span< const value_typesubspan (F &&func) const
 
Spanchildren ()
 
const Spanchildren () const
 

Public Attributes

friend Span< const value_type >
 
friend MutableVectorSpan< value_type >
 

Detailed Description

template<typename Item>
struct gemmi::Span< Item >

Definition at line 19 of file span.hpp.

Member Typedef Documentation

◆ iterator

template<typename Item >
using gemmi::Span< Item >::iterator = Item*

Definition at line 20 of file span.hpp.

◆ const_iterator

template<typename Item >
using gemmi::Span< Item >::const_iterator = Item const*

Definition at line 21 of file span.hpp.

◆ element_type

template<typename Item >
using gemmi::Span< Item >::element_type = Item

Definition at line 22 of file span.hpp.

◆ value_type

template<typename Item >
using gemmi::Span< Item >::value_type = typename std::remove_cv<Item>::type

Definition at line 23 of file span.hpp.

Constructor & Destructor Documentation

◆ Span() [1/3]

template<typename Item >
gemmi::Span< Item >::Span ( )
default

◆ Span() [2/3]

template<typename Item >
gemmi::Span< Item >::Span ( iterator  begin,
std::size_t  n 
)
inline

Definition at line 29 of file span.hpp.

◆ Span() [3/3]

template<typename Item >
template<typename T = Item>
gemmi::Span< Item >::Span ( const Span< value_type > &  o,
typename std::enable_if< std::is_const< T >::value >::type *  = 0 
)
inline

Definition at line 34 of file span.hpp.

Member Function Documentation

◆ set_begin()

template<typename Item >
void gemmi::Span< Item >::set_begin ( iterator  begin)
inline

Definition at line 42 of file span.hpp.

◆ set_size()

template<typename Item >
void gemmi::Span< Item >::set_size ( std::size_t  n)
inline

Definition at line 43 of file span.hpp.

◆ begin() [1/2]

template<typename Item >
const_iterator gemmi::Span< Item >::begin ( ) const
inline

Definition at line 44 of file span.hpp.

◆ end() [1/2]

template<typename Item >
const_iterator gemmi::Span< Item >::end ( ) const
inline

Definition at line 45 of file span.hpp.

◆ begin() [2/2]

template<typename Item >
iterator gemmi::Span< Item >::begin ( )
inline

Definition at line 46 of file span.hpp.

◆ end() [2/2]

template<typename Item >
iterator gemmi::Span< Item >::end ( )
inline

Definition at line 47 of file span.hpp.

◆ front() [1/2]

template<typename Item >
Item & gemmi::Span< Item >::front ( )
inline

Definition at line 49 of file span.hpp.

◆ front() [2/2]

template<typename Item >
const Item & gemmi::Span< Item >::front ( ) const
inline

Definition at line 50 of file span.hpp.

◆ back() [1/2]

template<typename Item >
Item & gemmi::Span< Item >::back ( )
inline

Definition at line 51 of file span.hpp.

◆ back() [2/2]

template<typename Item >
const Item & gemmi::Span< Item >::back ( ) const
inline

Definition at line 52 of file span.hpp.

◆ operator[]() [1/2]

template<typename Item >
const Item & gemmi::Span< Item >::operator[] ( std::size_t  i) const
inline

Definition at line 54 of file span.hpp.

◆ operator[]() [2/2]

template<typename Item >
Item & gemmi::Span< Item >::operator[] ( std::size_t  i)
inline

Definition at line 55 of file span.hpp.

◆ at() [1/2]

template<typename Item >
Item & gemmi::Span< Item >::at ( std::size_t  i)
inline

Definition at line 57 of file span.hpp.

◆ at() [2/2]

template<typename Item >
const Item & gemmi::Span< Item >::at ( std::size_t  i) const
inline

Definition at line 62 of file span.hpp.

◆ size()

template<typename Item >
std::size_t gemmi::Span< Item >::size ( ) const
inline

Definition at line 66 of file span.hpp.

◆ empty()

template<typename Item >
bool gemmi::Span< Item >::empty ( ) const
inline

Definition at line 67 of file span.hpp.

◆ operator bool()

template<typename Item >
gemmi::Span< Item >::operator bool ( ) const
inlineexplicit

Definition at line 68 of file span.hpp.

◆ sub()

template<typename Item >
template<typename Iter >
Span< Item > gemmi::Span< Item >::sub ( Iter  first,
Iter  last 
)
inline

Definition at line 70 of file span.hpp.

◆ subspan() [1/2]

template<typename Item >
template<typename F , typename V = Item>
Span< V > gemmi::Span< Item >::subspan ( F &&  func)
inline

Definition at line 74 of file span.hpp.

◆ subspan() [2/2]

template<typename Item >
template<typename F >
Span< const value_type > gemmi::Span< Item >::subspan ( F &&  func) const
inline

Definition at line 79 of file span.hpp.

◆ children() [1/2]

template<typename Item >
Span & gemmi::Span< Item >::children ( )
inline

Definition at line 85 of file span.hpp.

◆ children() [2/2]

template<typename Item >
const Span & gemmi::Span< Item >::children ( ) const
inline

Definition at line 86 of file span.hpp.

Member Data Documentation

◆ Span< const value_type >

template<typename Item >
friend gemmi::Span< Item >::Span< const value_type >

Definition at line 25 of file span.hpp.

◆ MutableVectorSpan< value_type >

template<typename Item >
friend gemmi::Span< Item >::MutableVectorSpan< value_type >

Definition at line 26 of file span.hpp.


The documentation for this struct was generated from the following file: