LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
geo::details::IteratorMaker< T, std::enable_if_t< std::is_base_of_v< CryostatID, T > > > Struct Template Reference

#include "geometry_iterator_maker.h"

Public Types

using begin_type = id_iterator< T >
 
using end_type = id_iterator< T >
 
using range_type = util::span< begin_type, end_type >
 

Static Public Member Functions

template<typename Geom >
static begin_type create_begin (Geom const *geom)
 
template<typename Geom >
static end_type create_end (Geom const *geom)
 
template<typename Geom >
static range_type create_range (Geom const *geom)
 
template<typename Geom , typename BaseID >
static begin_type create_begin (Geom const *geom, BaseID const &id)
 
template<typename Geom , typename BaseID >
static end_type create_end (Geom const *geom, BaseID const &id)
 
template<typename Geom , typename BaseID >
static range_type create_range (Geom const *geom, BaseID const &id)
 

Detailed Description

template<typename T>
struct geo::details::IteratorMaker< T, std::enable_if_t< std::is_base_of_v< CryostatID, T > > >

Definition at line 61 of file geometry_iterator_maker.h.

Member Typedef Documentation

template<typename T >
using geo::details::IteratorMaker< T, std::enable_if_t< std::is_base_of_v< CryostatID, T > > >::begin_type = id_iterator<T>

Definition at line 62 of file geometry_iterator_maker.h.

template<typename T >
using geo::details::IteratorMaker< T, std::enable_if_t< std::is_base_of_v< CryostatID, T > > >::end_type = id_iterator<T>

Definition at line 63 of file geometry_iterator_maker.h.

template<typename T >
using geo::details::IteratorMaker< T, std::enable_if_t< std::is_base_of_v< CryostatID, T > > >::range_type = util::span<begin_type, end_type>

Definition at line 64 of file geometry_iterator_maker.h.

Member Function Documentation

template<typename T >
template<typename Geom >
static begin_type geo::details::IteratorMaker< T, std::enable_if_t< std::is_base_of_v< CryostatID, T > > >::create_begin ( Geom const *  geom)
inlinestatic

Definition at line 67 of file geometry_iterator_maker.h.

68  {
69  return {geom, geom->template GetBeginID<T>()};
70  }
template<typename T >
template<typename Geom , typename BaseID >
static begin_type geo::details::IteratorMaker< T, std::enable_if_t< std::is_base_of_v< CryostatID, T > > >::create_begin ( Geom const *  geom,
BaseID const &  id 
)
inlinestatic

Definition at line 85 of file geometry_iterator_maker.h.

86  {
87  static_assert(is_base_of_strict<BaseID, T>);
88  return {geom, geom->template GetBeginID<T>(id)};
89  }
template<typename T >
template<typename Geom >
static end_type geo::details::IteratorMaker< T, std::enable_if_t< std::is_base_of_v< CryostatID, T > > >::create_end ( Geom const *  geom)
inlinestatic

Definition at line 73 of file geometry_iterator_maker.h.

74  {
75  return {geom, geom->template GetEndID<T>()};
76  }
template<typename T >
template<typename Geom , typename BaseID >
static end_type geo::details::IteratorMaker< T, std::enable_if_t< std::is_base_of_v< CryostatID, T > > >::create_end ( Geom const *  geom,
BaseID const &  id 
)
inlinestatic

Definition at line 92 of file geometry_iterator_maker.h.

93  {
94  static_assert(is_base_of_strict<BaseID, T>);
95  return {geom, geom->template GetEndID<T>(id)};
96  }
template<typename T >
template<typename Geom >
static range_type geo::details::IteratorMaker< T, std::enable_if_t< std::is_base_of_v< CryostatID, T > > >::create_range ( Geom const *  geom)
inlinestatic
template<typename T >
template<typename Geom , typename BaseID >
static range_type geo::details::IteratorMaker< T, std::enable_if_t< std::is_base_of_v< CryostatID, T > > >::create_range ( Geom const *  geom,
BaseID const &  id 
)
inlinestatic

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