DNA Calib 1.1
Project brief
Public Types | Public Member Functions | Private Member Functions | List of all members
dna::StringView Class Reference

#include <StringView.h>

Inheritance diagram for dna::StringView:
Inheritance graph
Collaboration diagram for dna::StringView:
Collaboration graph

Public Types

using Base = trust::ConstArrayView< char >
 
- Public Types inherited from trust::ArrayView< T >
using value_type = typename ArrayViewTraits< T >::value_type
 
using reference = typename ArrayViewTraits< T >::reference
 
using const_reference = typename ArrayViewTraits< T >::const_reference
 
using const_pointer = typename ArrayViewTraits< T >::const_pointer
 
using pointer = typename ArrayViewTraits< T >::pointer
 
using size_type = typename ArrayViewTraits< T >::size_type
 
using difference_type = typename ArrayViewTraits< T >::difference_type
 

Public Member Functions

const char * c_str () const
 
 operator const char * () const
 
const char * operator* () const
 
 ArrayView ()=default
 
 ArrayView (const ArrayView &)=default
 
 ArrayView (ArrayView &&)=default
 
 ArrayView (pointer src, size_type size)
 
 ArrayView (std::nullptr_t, size_type)
 
template<typename U >
 ArrayView (ArrayView< U > &src)
 
template<typename U >
 ArrayView (const ArrayView< U > &src)
 
template<typename U >
 ArrayView (ArrayView< U > &&src)
 
template<typename U , typename std::enable_if<!std::is_rvalue_reference< U && >::value, int >::type = 0>
 ArrayView (U &&src)
 
- Public Member Functions inherited from trust::ArrayView< T >
 ArrayView ()=default
 
 ~ArrayView () noexcept=default
 
 ArrayView (const ArrayView &)=default
 
ArrayViewoperator= (const ArrayView &)=default
 
 ArrayView (ArrayView &&)=default
 
ArrayViewoperator= (ArrayView &&)=default
 
 ArrayView (pointer src, size_type size)
 
 ArrayView (std::nullptr_t, size_type)
 
template<typename U >
 ArrayView (ArrayView< U > &src)
 
template<typename U >
 ArrayView (const ArrayView< U > &src)
 
template<typename U >
 ArrayView (ArrayView< U > &&src)
 
template<typename U , typename std::enable_if<!std::is_rvalue_reference< U && >::value, int >::type = 0>
 ArrayView (U &&src)
 
size_type size () const
 
pointer data ()
 
const_pointer data () const
 
pointer begin ()
 
pointer end ()
 
const_pointer cbegin () const
 
const_pointer cend () const
 
const_pointer begin () const
 
const_pointer end () const
 
reference operator[] (std::size_t index)
 
const_reference operator[] (std::size_t index) const
 
reference at (std::size_t index)
 
const_reference at (std::size_t index) const
 
ArrayView subview (std::size_t offset, std::size_t count) const
 
ArrayView first (std::size_t count) const
 
ArrayView last (std::size_t count) const
 

Private Member Functions

const char * dataOrEmpty () const
 

Member Typedef Documentation

◆ Base

Member Function Documentation

◆ ArrayView() [1/9]

trust::ArrayView< T >::ArrayView ( )
default

◆ ArrayView() [2/9]

trust::ArrayView< T >::ArrayView ( ArrayView &&  )
default

◆ ArrayView() [3/9]

template<typename U >
trust::ArrayView< T >::ArrayView ( ArrayView< U > &&  src)
inline
91 : ArrayView{src.data(), src.size()} {
92 }
ArrayView()=default

◆ ArrayView() [4/9]

template<typename U >
trust::ArrayView< T >::ArrayView ( ArrayView< U > &  src)
inline
83 : ArrayView{src.data(), src.size()} {
84 }

◆ ArrayView() [5/9]

trust::ArrayView< T >::ArrayView ( const ArrayView )
default

◆ ArrayView() [6/9]

template<typename U >
trust::ArrayView< T >::ArrayView ( const ArrayView< U > &  src)
inline
87 : ArrayView{src.data(), src.size()} {
88 }

◆ ArrayView() [7/9]

trust::ArrayView< T >::ArrayView ( pointer  src,
size_type  size 
)
inline
74 :
75 ptr{src},
76 sz{size} {
77 }
pointer ptr
Definition: ArrayView.h:169
size_type size() const
Definition: ArrayView.h:98
size_type sz
Definition: ArrayView.h:170

◆ ArrayView() [8/9]

trust::ArrayView< T >::ArrayView ( std::nullptr_t  ,
size_type   
)
inline
79 : ArrayView{nullptr, {}} {
80 }

◆ ArrayView() [9/9]

template<typename U , typename std::enable_if<!std::is_rvalue_reference< U && >::value, int >::type = 0>
trust::ArrayView< T >::ArrayView ( U &&  src)
inlineexplicit
95 : ArrayView{src.data(), src.size()} {
96 }

◆ c_str()

const char * dna::StringView::c_str ( ) const
inline
16 {
17 return dataOrEmpty();
18 }
const char * dataOrEmpty() const
Definition: StringView.h:29

References dataOrEmpty().

◆ dataOrEmpty()

const char * dna::StringView::dataOrEmpty ( ) const
inlineprivate
29 {
30 return (data() == nullptr ? "" : data());
31 }
pointer data()
Definition: ArrayView.h:102

References trust::ArrayView< T >::data().

Referenced by c_str(), operator const char *(), and operator*().

◆ operator const char *()

dna::StringView::operator const char * ( ) const
inline
20 {
21 return dataOrEmpty();
22 }

References dataOrEmpty().

◆ operator*()

const char * dna::StringView::operator* ( ) const
inline
24 {
25 return dataOrEmpty();
26 }

References dataOrEmpty().


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