Multiscale Universal Interface  2.0
A Concurrent Framework for Coupling Heterogeneous Solvers
mui::virtual_container< TYPE, CONFIG > Class Template Reference

#include <virtual_container.h>

Public Types

using elem_type = std::pair< typename CONFIG::point_type, TYPE >
 
using container_type = std::vector< elem_type >
 
typedef index_iterator< const elem_type, const virtual_containeriterator
 

Public Member Functions

 virtual_container (const container_type &container, std::vector< size_t > map)
 
 virtual_container (const container_type &container, const std::vector< bool > &pred)
 
const elem_typeoperator[] (size_t i) const
 
const elem_typeat (size_t i) const
 
iterator begin () const
 
iterator cbegin () const
 
iterator end () const
 
iterator cend () const
 
size_t size () const
 

Protected Attributes

container_type const & container_
 
std::vector< size_t > map_
 

Member Typedef Documentation

◆ container_type

template<typename TYPE , typename CONFIG >
using mui::virtual_container< TYPE, CONFIG >::container_type = std::vector<elem_type>

◆ elem_type

template<typename TYPE , typename CONFIG >
using mui::virtual_container< TYPE, CONFIG >::elem_type = std::pair<typename CONFIG::point_type,TYPE>

◆ iterator

template<typename TYPE , typename CONFIG >
typedef index_iterator<const elem_type,const virtual_container> mui::virtual_container< TYPE, CONFIG >::iterator

Constructor & Destructor Documentation

◆ virtual_container() [1/2]

template<typename TYPE , typename CONFIG >
mui::virtual_container< TYPE, CONFIG >::virtual_container ( const container_type container,
std::vector< size_t >  map 
)
inline

◆ virtual_container() [2/2]

template<typename TYPE , typename CONFIG >
mui::virtual_container< TYPE, CONFIG >::virtual_container ( const container_type container,
const std::vector< bool > &  pred 
)
inline

Member Function Documentation

◆ at()

template<typename TYPE , typename CONFIG >
const elem_type& mui::virtual_container< TYPE, CONFIG >::at ( size_t  i) const
inline

◆ begin()

template<typename TYPE , typename CONFIG >
iterator mui::virtual_container< TYPE, CONFIG >::begin ( ) const
inline

◆ cbegin()

template<typename TYPE , typename CONFIG >
iterator mui::virtual_container< TYPE, CONFIG >::cbegin ( ) const
inline

◆ cend()

template<typename TYPE , typename CONFIG >
iterator mui::virtual_container< TYPE, CONFIG >::cend ( ) const
inline

◆ end()

template<typename TYPE , typename CONFIG >
iterator mui::virtual_container< TYPE, CONFIG >::end ( ) const
inline

◆ operator[]()

template<typename TYPE , typename CONFIG >
const elem_type& mui::virtual_container< TYPE, CONFIG >::operator[] ( size_t  i) const
inline

◆ size()

template<typename TYPE , typename CONFIG >
size_t mui::virtual_container< TYPE, CONFIG >::size ( ) const
inline

Member Data Documentation

◆ container_

template<typename TYPE , typename CONFIG >
container_type const& mui::virtual_container< TYPE, CONFIG >::container_
protected

◆ map_

template<typename TYPE , typename CONFIG >
std::vector<size_t> mui::virtual_container< TYPE, CONFIG >::map_
protected

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