#ifndef MIMAPR_FORM_H
#define MIMAPR_FORM_H
#include <iostream>
#include <algorithm>
#include <cmath>
#include <map>

class Form {
protected:
    static size_t counter_;
    size_t id_;
    bool excluded_;
    int _boundtype;
public:
    Form();
    virtual double Function(double, double);
    virtual std::pair<double, double> Deriative(double, double);
    virtual bool Inhere(double, double);
    virtual std::pair<double, double> missX(double); 
    virtual std::pair<double, double> missY(double); 
    virtual std::pair<double, double> size();
    virtual int GetB();
    bool Excluded() const;
    bool operator==(size_t) const;
};

#endif 

