1 #ifndef FWCore_Utilities_interface_propagate_const_array_h 2 #define FWCore_Utilities_interface_propagate_const_array_h 13 #include <type_traits> 27 template <
typename T,
typename =
void,
typename =
void>
36 template <
typename T,
int N>
48 using type =
typename std::remove_reference<decltype(std::declval<T&>()[0])>
::type;
56 template <impl::ArrayAddressable T>
64 template <impl::ArrayAddressable T>
70 template <impl::ArrayAddressable U>
86 static_assert(std::is_convertible_v<std::decay_t<U>, std::decay_t<T>>,
87 "Cannot assign propagate_const_array<> of incompatible types");
115 template <
typename T>
120 template <
typename T>
127 #endif // FWCore_Utilities_interface_propagate_const_array_h constexpr element_type & operator[](std::ptrdiff_t pos)
typename subscript_type< T >::type subscript_type_t
constexpr propagate_const_array()=default
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
std::decay_t< T > m_value
constexpr propagate_const_array< T > & operator=(propagate_const_array &&)=default
typename std::remove_reference< decltype(std::declval< T & >()[0])>::type type
constexpr propagate_const_array & operator=(U &&u)
constexpr T & get_underlying(propagate_const< T > &)
requires ArrayAddressable< T >
constexpr propagate_const_array & operator=(propagate_const_array< U > &other)
typename impl::subscript_type_t< T > element_type
constexpr propagate_const_array(U &&u)
constexpr element_type const & operator[](std::ptrdiff_t pos) const