21 namespace TrackFindingCDC {
24 template<
class T,
class ATag = T>
25 class DiscreteValue :
public std::vector<T>::const_iterator {
29 using Super =
typename std::vector<T>::const_iterator;
32 using This = DiscreteValue<T, ATag>;
49 explicit operator const T& ()
const
53 friend std::ostream&
operator<<(std::ostream& output,
const This& discreteValue)
54 {
return output << *discreteValue; }
62 {
return {{
This(values.front()),
This(values.back()) }}; }