xtensor
Loading...
Searching...
No Matches
xt::xoptional_assembly_storage< VE, FE > Class Template Reference

Public Types

using self_type = xoptional_assembly_storage<VE, FE>
 
using value_storage = std::remove_reference_t<VE>
 
using flag_storage = std::remove_reference_t<FE>
 
using value_type = xtl::xoptional<typename value_storage::value_type, typename flag_storage::value_type>
 
using val_reference
 
using flag_reference
 
using reference = xtl::xoptional<val_reference, flag_reference>
 
using const_reference = xtl::xoptional<typename value_storage::const_reference, typename flag_storage::const_reference>
 
using pointer = xtl::xclosure_pointer<reference>
 
using const_pointer = xtl::xclosure_pointer<const_reference>
 
using size_type = typename value_storage::size_type
 
using difference_type = typename value_storage::difference_type
 
using iterator = xoptional_assembly_linear_iterator<VE, FE, false>
 
using const_iterator = xoptional_assembly_linear_iterator<VE, FE, true>
 
using reverse_iterator = std::reverse_iterator<iterator>
 
using const_reverse_iterator = std::reverse_iterator<const_iterator>
 

Public Member Functions

template<class VE1 , class FE1 >
 xoptional_assembly_storage (const VE1 &value_stor, const FE1 &flag_stor)
 
template<class VE1 , class FE1 >
 xoptional_assembly_storage (VE1 &value_stor, FE1 &flag_stor)
 
 xoptional_assembly_storage (const xoptional_assembly_storage &)
 
xoptional_assembly_storageoperator= (const xoptional_assembly_storage &)
 
 xoptional_assembly_storage (xoptional_assembly_storage &&)
 
xoptional_assembly_storageoperator= (xoptional_assembly_storage &&)
 
bool empty () const noexcept
 
size_type size () const noexcept
 
void resize (size_type size)
 
reference operator[] (size_type i)
 
const_reference operator[] (size_type i) const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
pointer data () noexcept
 
const_pointer data () const noexcept
 
iterator begin () noexcept
 
iterator end () noexcept
 
const_iterator begin () const noexcept
 
const_iterator end () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
reverse_iterator rbegin () noexcept
 
reverse_iterator rend () noexcept
 
const_reverse_iterator rbegin () const noexcept
 
const_reverse_iterator rend () const noexcept
 
const_reverse_iterator crbegin () const noexcept
 
const_reverse_iterator crend () const noexcept
 
void swap (self_type &rhs) noexcept
 
value_storage & value () noexcept
 
const value_storage & value () const noexcept
 
flag_storage & has_value () noexcept
 
const flag_storage & has_value () const noexcept
 

Static Public Attributes

static constexpr bool is_val_const = std::is_const<value_storage>::value
 
static constexpr bool is_flag_const = std::is_const<flag_storage>::value
 

Detailed Description

template<class VE, class FE>
class xt::xoptional_assembly_storage< VE, FE >

Definition at line 27 of file xoptional_assembly_storage.hpp.

Member Typedef Documentation

◆ const_iterator

◆ const_pointer

template<class VE , class FE >
using xt::xoptional_assembly_storage< VE, FE >::const_pointer = xtl::xclosure_pointer<const_reference>

Definition at line 48 of file xoptional_assembly_storage.hpp.

◆ const_reference

template<class VE , class FE >
using xt::xoptional_assembly_storage< VE, FE >::const_reference = xtl::xoptional<typename value_storage::const_reference, typename flag_storage::const_reference>

Definition at line 45 of file xoptional_assembly_storage.hpp.

◆ const_reverse_iterator

template<class VE , class FE >
using xt::xoptional_assembly_storage< VE, FE >::const_reverse_iterator = std::reverse_iterator<const_iterator>

Definition at line 56 of file xoptional_assembly_storage.hpp.

◆ difference_type

template<class VE , class FE >
using xt::xoptional_assembly_storage< VE, FE >::difference_type = typename value_storage::difference_type

Definition at line 51 of file xoptional_assembly_storage.hpp.

◆ flag_reference

template<class VE , class FE >
using xt::xoptional_assembly_storage< VE, FE >::flag_reference
Initial value:
std::
conditional_t<is_flag_const, typename flag_storage::const_reference, typename flag_storage::reference>

Definition at line 42 of file xoptional_assembly_storage.hpp.

◆ flag_storage

template<class VE , class FE >
using xt::xoptional_assembly_storage< VE, FE >::flag_storage = std::remove_reference_t<FE>

Definition at line 34 of file xoptional_assembly_storage.hpp.

◆ iterator

◆ pointer

template<class VE , class FE >
using xt::xoptional_assembly_storage< VE, FE >::pointer = xtl::xclosure_pointer<reference>

Definition at line 47 of file xoptional_assembly_storage.hpp.

◆ reference

template<class VE , class FE >
using xt::xoptional_assembly_storage< VE, FE >::reference = xtl::xoptional<val_reference, flag_reference>

Definition at line 44 of file xoptional_assembly_storage.hpp.

◆ reverse_iterator

template<class VE , class FE >
using xt::xoptional_assembly_storage< VE, FE >::reverse_iterator = std::reverse_iterator<iterator>

Definition at line 55 of file xoptional_assembly_storage.hpp.

◆ self_type

◆ size_type

template<class VE , class FE >
using xt::xoptional_assembly_storage< VE, FE >::size_type = typename value_storage::size_type

Definition at line 50 of file xoptional_assembly_storage.hpp.

◆ val_reference

template<class VE , class FE >
using xt::xoptional_assembly_storage< VE, FE >::val_reference
Initial value:
std::
conditional_t<is_val_const, typename value_storage::const_reference, typename value_storage::reference>

Definition at line 40 of file xoptional_assembly_storage.hpp.

◆ value_storage

template<class VE , class FE >
using xt::xoptional_assembly_storage< VE, FE >::value_storage = std::remove_reference_t<VE>

Definition at line 33 of file xoptional_assembly_storage.hpp.

◆ value_type

template<class VE , class FE >
using xt::xoptional_assembly_storage< VE, FE >::value_type = xtl::xoptional<typename value_storage::value_type, typename flag_storage::value_type>

Definition at line 36 of file xoptional_assembly_storage.hpp.

Constructor & Destructor Documentation

◆ xoptional_assembly_storage() [1/4]

template<class VE , class FE >
template<class VE1 , class FE1 >
xt::xoptional_assembly_storage< VE, FE >::xoptional_assembly_storage ( const VE1 & value_stor,
const FE1 & flag_stor )
inline

Definition at line 221 of file xoptional_assembly_storage.hpp.

◆ xoptional_assembly_storage() [2/4]

template<class VE , class FE >
template<class VE1 , class FE1 >
xt::xoptional_assembly_storage< VE, FE >::xoptional_assembly_storage ( VE1 & value_stor,
FE1 & flag_stor )
inline

Definition at line 229 of file xoptional_assembly_storage.hpp.

◆ xoptional_assembly_storage() [3/4]

template<class VE , class FE >
xt::xoptional_assembly_storage< VE, FE >::xoptional_assembly_storage ( const xoptional_assembly_storage< VE, FE > & rhs)
inline

Definition at line 236 of file xoptional_assembly_storage.hpp.

◆ xoptional_assembly_storage() [4/4]

template<class VE , class FE >
xt::xoptional_assembly_storage< VE, FE >::xoptional_assembly_storage ( xoptional_assembly_storage< VE, FE > && rhs)
inline

Definition at line 251 of file xoptional_assembly_storage.hpp.

Member Function Documentation

◆ back() [1/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::back ( )
inline

Definition at line 309 of file xoptional_assembly_storage.hpp.

◆ back() [2/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::back ( ) const
inline

Definition at line 315 of file xoptional_assembly_storage.hpp.

◆ begin() [1/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::begin ( ) const
inlinenoexcept

Definition at line 345 of file xoptional_assembly_storage.hpp.

◆ begin() [2/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::begin ( )
inlinenoexcept

Definition at line 333 of file xoptional_assembly_storage.hpp.

◆ cbegin()

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::cbegin ( ) const
inlinenoexcept

Definition at line 357 of file xoptional_assembly_storage.hpp.

◆ cend()

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::cend ( ) const
inlinenoexcept

Definition at line 363 of file xoptional_assembly_storage.hpp.

◆ crbegin()

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::crbegin ( ) const
inlinenoexcept

Definition at line 393 of file xoptional_assembly_storage.hpp.

◆ crend()

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::crend ( ) const
inlinenoexcept

Definition at line 399 of file xoptional_assembly_storage.hpp.

◆ data() [1/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::data ( ) const
inlinenoexcept

Definition at line 327 of file xoptional_assembly_storage.hpp.

◆ data() [2/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::data ( )
inlinenoexcept

Definition at line 321 of file xoptional_assembly_storage.hpp.

◆ empty()

template<class VE , class FE >
bool xt::xoptional_assembly_storage< VE, FE >::empty ( ) const
inlinenoexcept

Definition at line 266 of file xoptional_assembly_storage.hpp.

◆ end() [1/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::end ( ) const
inlinenoexcept

Definition at line 351 of file xoptional_assembly_storage.hpp.

◆ end() [2/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::end ( )
inlinenoexcept

Definition at line 339 of file xoptional_assembly_storage.hpp.

◆ front() [1/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::front ( )
inline

Definition at line 297 of file xoptional_assembly_storage.hpp.

◆ front() [2/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::front ( ) const
inline

Definition at line 303 of file xoptional_assembly_storage.hpp.

◆ has_value() [1/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::has_value ( ) const
inlinenoexcept

Definition at line 430 of file xoptional_assembly_storage.hpp.

◆ has_value() [2/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::has_value ( )
inlinenoexcept

Definition at line 424 of file xoptional_assembly_storage.hpp.

◆ operator=() [1/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::operator= ( const xoptional_assembly_storage< VE, FE > & rhs)
inline

Definition at line 243 of file xoptional_assembly_storage.hpp.

◆ operator=() [2/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::operator= ( xoptional_assembly_storage< VE, FE > && rhs)
inline

Definition at line 258 of file xoptional_assembly_storage.hpp.

◆ operator[]() [1/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::operator[] ( size_type i)
inline

Definition at line 285 of file xoptional_assembly_storage.hpp.

◆ operator[]() [2/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::operator[] ( size_type i) const
inline

Definition at line 291 of file xoptional_assembly_storage.hpp.

◆ rbegin() [1/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::rbegin ( ) const
inlinenoexcept

Definition at line 381 of file xoptional_assembly_storage.hpp.

◆ rbegin() [2/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::rbegin ( )
inlinenoexcept

Definition at line 369 of file xoptional_assembly_storage.hpp.

◆ rend() [1/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::rend ( ) const
inlinenoexcept

Definition at line 387 of file xoptional_assembly_storage.hpp.

◆ rend() [2/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::rend ( )
inlinenoexcept

Definition at line 375 of file xoptional_assembly_storage.hpp.

◆ resize()

template<class VE , class FE >
void xt::xoptional_assembly_storage< VE, FE >::resize ( size_type size)
inline

Definition at line 278 of file xoptional_assembly_storage.hpp.

◆ size()

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::size ( ) const
inlinenoexcept

Definition at line 272 of file xoptional_assembly_storage.hpp.

◆ swap()

template<class VE , class FE >
void xt::xoptional_assembly_storage< VE, FE >::swap ( self_type & rhs)
inlinenoexcept

Definition at line 405 of file xoptional_assembly_storage.hpp.

◆ value() [1/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::value ( ) const
inlinenoexcept

Definition at line 418 of file xoptional_assembly_storage.hpp.

◆ value() [2/2]

template<class VE , class FE >
auto xt::xoptional_assembly_storage< VE, FE >::value ( )
inlinenoexcept

Definition at line 412 of file xoptional_assembly_storage.hpp.

Member Data Documentation

◆ is_flag_const

template<class VE , class FE >
constexpr bool xt::xoptional_assembly_storage< VE, FE >::is_flag_const = std::is_const<flag_storage>::value
staticconstexpr

Definition at line 39 of file xoptional_assembly_storage.hpp.

◆ is_val_const

template<class VE , class FE >
constexpr bool xt::xoptional_assembly_storage< VE, FE >::is_val_const = std::is_const<value_storage>::value
staticconstexpr

Definition at line 38 of file xoptional_assembly_storage.hpp.


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