LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
util::details::ContainerStorageBase< Cont > Struct Template Reference

#include "MappedContainer.h"

Inheritance diagram for util::details::ContainerStorageBase< Cont >:
util::details::ContainerStorage< Cont > util::details::ContainerStorage< Cont, typename > util::details::ContainerStorage< Cont, std::enable_if_t< util::is_reference_wrapper_v< Cont > > >

Public Types

using Container_t = Cont
 
using Traits_t = details::ContainerTraits< Container_t >
 
using index_type = typename Traits_t::size_type
 
using value_type = typename Traits_t::value_type
 
using size_type = typename Traits_t::size_type
 
using difference_type = typename Traits_t::difference_type
 
using reference = typename Traits_t::reference
 
using const_reference = typename Traits_t::const_reference
 

Public Member Functions

 ContainerStorageBase ()=default
 
 ContainerStorageBase (Container_t const &cont)
 
 ContainerStorageBase (Container_t &&cont)
 
decltype(auto) container () const
 
decltype(auto) container ()
 
auto size () const
 
decltype(auto) operator[] (index_type index)
 
decltype(auto) operator[] (index_type index) const
 

Public Attributes

Container_t fCont
 

Detailed Description

template<typename Cont>
struct util::details::ContainerStorageBase< Cont >

Definition at line 443 of file MappedContainer.h.

Member Typedef Documentation

template<typename Cont>
using util::details::ContainerStorageBase< Cont >::const_reference = typename Traits_t::const_reference

Definition at line 454 of file MappedContainer.h.

template<typename Cont>
using util::details::ContainerStorageBase< Cont >::Container_t = Cont

Definition at line 445 of file MappedContainer.h.

template<typename Cont>
using util::details::ContainerStorageBase< Cont >::difference_type = typename Traits_t::difference_type

Definition at line 452 of file MappedContainer.h.

template<typename Cont>
using util::details::ContainerStorageBase< Cont >::index_type = typename Traits_t::size_type

Definition at line 448 of file MappedContainer.h.

template<typename Cont>
using util::details::ContainerStorageBase< Cont >::reference = typename Traits_t::reference

Definition at line 453 of file MappedContainer.h.

template<typename Cont>
using util::details::ContainerStorageBase< Cont >::size_type = typename Traits_t::size_type

Definition at line 451 of file MappedContainer.h.

Definition at line 446 of file MappedContainer.h.

template<typename Cont>
using util::details::ContainerStorageBase< Cont >::value_type = typename Traits_t::value_type

Definition at line 450 of file MappedContainer.h.

Constructor & Destructor Documentation

template<typename Cont>
util::details::ContainerStorageBase< Cont >::ContainerStorageBase ( )
default
template<typename Cont>
util::details::ContainerStorageBase< Cont >::ContainerStorageBase ( Container_t const &  cont)
inlineexplicit

Definition at line 459 of file MappedContainer.h.

459 : fCont(cont) {}
template<typename Cont>
util::details::ContainerStorageBase< Cont >::ContainerStorageBase ( Container_t &&  cont)
inlineexplicit

Definition at line 460 of file MappedContainer.h.

460 : fCont(std::move(cont)) {}

Member Function Documentation

template<typename Cont>
decltype(auto) util::details::ContainerStorageBase< Cont >::container ( ) const
inline

Definition at line 462 of file MappedContainer.h.

decltype(auto) collection_from_reference(CollRef &collRef)
Returns the object referenced by collRef as a C++ reference.
template<typename Cont>
decltype(auto) util::details::ContainerStorageBase< Cont >::container ( )
inline

Definition at line 463 of file MappedContainer.h.

decltype(auto) collection_from_reference(CollRef &collRef)
Returns the object referenced by collRef as a C++ reference.
template<typename Cont>
decltype(auto) util::details::ContainerStorageBase< Cont >::operator[] ( index_type  index)
inline

Definition at line 471 of file MappedContainer.h.

471 { return container()[index]; }
decltype(auto) container() const
template<typename Cont>
decltype(auto) util::details::ContainerStorageBase< Cont >::operator[] ( index_type  index) const
inline

Definition at line 472 of file MappedContainer.h.

472 { return container()[index]; }
decltype(auto) container() const
template<typename Cont>
auto util::details::ContainerStorageBase< Cont >::size ( ) const
inline

Definition at line 465 of file MappedContainer.h.

466  {
467  using std::size;
468  return size(container());
469  }
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
Definition: StdUtils.h:101
decltype(auto) container() const

Member Data Documentation

template<typename Cont>
Container_t util::details::ContainerStorageBase< Cont >::fCont

Definition at line 456 of file MappedContainer.h.


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