Alexandria
2.16
Please provide a description of the project.
|
Go to the documentation of this file.
39 namespace SourceCatalog {
78 :
public std::iterator<std::forward_iterator_tag, typename std::conditional<Const, const FluxErrorPair, FluxErrorPair>::type> {
115 pointer operator ->();
160 m_filter_name_vector_ptr(filter_name_vector_ptr), m_value_vector(
161 std::move(value_vector)) {
162 if (m_filter_name_vector_ptr ==
nullptr) {
166 if (m_filter_name_vector_ptr->size() != m_value_vector.size()) {
168 <<
"Photometry filter names vector has different size than the values vector";
176 return const_iterator{m_filter_name_vector_ptr->cbegin(), m_value_vector.cbegin()};
180 return const_iterator{m_filter_name_vector_ptr->cend(), m_value_vector.cend()};
184 return const_iterator{m_filter_name_vector_ptr->cbegin(), m_value_vector.cbegin()};
188 return const_iterator{m_filter_name_vector_ptr->cend(), m_value_vector.cend()};
192 return iterator{m_filter_name_vector_ptr->begin(), m_value_vector.begin()};
196 return iterator{m_filter_name_vector_ptr->end(), m_value_vector.end()};
204 return m_filter_name_vector_ptr->size();
231 #define PHOTOMETRY_IMPL
233 #undef PHOTOMETRY_IMPL
typename std::conditional< Const, const FluxErrorPair, FluxErrorPair >::type value_t
std::shared_ptr< std::vector< std::string > > m_filter_name_vector_ptr
Shared pointer to the common list of filter names.
bool operator!=(const FluxErrorPair &other) const
const_iterator cend() const
PhotometryIterator(const PhotometryIterator< false > &other)
const_iterator cbegin() const
typename std::conditional< Const, std::vector< std::string >::const_iterator, std::vector< std::string >::iterator >::type filters_iter_t
bool operator!=(const Euclid::SourceCatalog::Source::id_type &a, const Euclid::SourceCatalog::Source::id_type &b)
boost::variant specifies an equality operator (==), but, in older boost versions, not an inequality o...
Attribute interface extended by all source attributes.
FluxErrorPair(double flux, double error, bool missing_photometry_flag=false, bool upper_limit_flag=false)
PhotometryIterator< true > const_iterator
FluxErrorPair(const FluxErrorPair &)=default
bool operator==(const FluxErrorPair &other) const
std::vector< FluxErrorPair > m_value_vector
The photometry map.
std::size_t size() const
Return the size of the photometry map.
const_iterator end() const
values_iter_t m_values_iter
virtual ~Photometry()=default
default destructor
typename std::conditional< Const, std::vector< FluxErrorPair >::const_iterator, std::vector< FluxErrorPair >::iterator >::type values_iter_t
const std::string & filterName() const
Photometry(std::shared_ptr< std::vector< std::string >> filter_name_vector_ptr, std::vector< FluxErrorPair > value_vector)
Constructor which should never be called directly. Use the PhotometryAttributeHandler to build Photom...
bool missing_photometry_flag
PhotometryIterator & operator++()
PhotometryIterator< false > iterator
PhotometryIterator(const filters_iter_t &filters_iter, const values_iter_t &values_iter)
filters_iter_t m_filters_iter
const_iterator begin() const