Program Listing for File SwathsByCells.h
↰ Return to documentation for file (include/fields2cover/types/SwathsByCells.h
)
//=============================================================================
// Copyright (C) 2021-2024 Wageningen University - All Rights Reserved
// Author: Gonzalo Mier
// BSD-3 License
//=============================================================================
#pragma once
#ifndef FIELDS2COVER_TYPES_SWATHS_BY_CELLS_H_
#define FIELDS2COVER_TYPES_SWATHS_BY_CELLS_H_
#include <vector>
#include "fields2cover/types/Swath.h"
#include "fields2cover/types/Swaths.h"
namespace f2c::types {
struct SwathsByCells {
SwathsByCells();
explicit SwathsByCells(int i);
explicit SwathsByCells(const std::initializer_list<Swaths>& s);
explicit SwathsByCells(const std::vector<Swaths>& s);
~SwathsByCells();
void emplace_back(const Swaths& s);
void push_back(const Swaths& s);
std::vector<Swaths>::iterator begin();
std::vector<Swaths>::iterator end();
std::vector<Swaths>::const_iterator begin() const;
std::vector<Swaths>::const_iterator end() const;
void reverse();
Swaths& back();
const Swaths& back() const;
Swaths& at(size_t i);
const Swaths& at(size_t i) const;
// Return the swath i^th
Swath& getSwath(size_t i);
const Swath& getSwath(size_t i) const;
size_t size() const;
// Sum of the size of each Swaths.
size_t sizeTotal() const;
Swaths& operator[] (int i);
const Swaths& operator[] (int i) const;
SwathsByCells clone() const;
Swaths flatten() const;
private:
std::vector<Swaths> data_;
};
} // namespace f2c::types
#endif // FIELDS2COVER_TYPES_SWATHS_BY_CELLS_H_