coord.h 1.27 KB
#ifndef DEF_HCOORD
#define DEF_HCOORD

#include <utility>
#include <vector>


class Coord
{

public :

    Coord();

    Coord(std::vector< std::pair < int, int > > coord);

    Coord(const Coord & coord);

    void addCoord(std::pair< int,int > p);

    void addCoord(Coord coord);

    std::vector< std::pair< int, int > >::const_iterator begin() const;

    std::vector< std::pair < int, int > >::iterator begin();

    std::vector< std::pair< int, int > >::const_iterator end() const;

    std::vector< std::pair < int, int > >::iterator end();

    bool empty() const;

    bool empty();

    void erase(std::vector< std::pair< int, int > >::iterator it);

    void erase_duplicates();

    int find_coord(std::pair< int,int > p) const;

    std::vector< int > find_coord_with_i( int i) const;

    std::vector< int > find_coord_with_i_at_first( int i ) const;

    std::vector< int > find_coord_with_i_at_second( int i ) const;

    std::vector< std::pair < int, int > > get_coord_() const;

    std::pair< int,int > get_coord(unsigned int i) const;

    int get_coordF(unsigned int i) const;

    int get_coordS(unsigned int i) const;

    size_t size() const;

    void clear();

    void sort();

    void pop_back();



private :

    std::vector< std::pair < int, int > > coord_;
};


#endif