/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 3.0.12
 *
 * This file is not intended to be easily readable and contains a number of
 * coding conventions designed to improve portability and efficiency. Do not make
 * changes to this file unless you know what you are doing--modify the SWIG
 * interface file instead.
 * ----------------------------------------------------------------------------- */

#ifndef SWIG_QuantLib_WRAP_H_
#define SWIG_QuantLib_WRAP_H_

class SwigDirector_UnaryFunctionDelegate : public UnaryFunctionDelegate, public Swig::Director {

public:
    void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
    SwigDirector_UnaryFunctionDelegate(JNIEnv *jenv);
    virtual ~SwigDirector_UnaryFunctionDelegate();
    virtual Real value(Real x) const;
public:
    bool swig_overrides(int n) {
      return (n < 1 ? swig_override[n] : false);
    }
protected:
    Swig::BoolArray<1> swig_override;
};

class SwigDirector_CostFunctionDelegate : public CostFunctionDelegate, public Swig::Director {

public:
    void swig_connect_director(JNIEnv *jenv, jobject jself, jclass jcls, bool swig_mem_own, bool weak_global);
    SwigDirector_CostFunctionDelegate(JNIEnv *jenv);
    virtual ~SwigDirector_CostFunctionDelegate();
    virtual Real value(Array const &x) const;
    virtual Array values(Array const &x) const;
public:
    bool swig_overrides(int n) {
      return (n < 2 ? swig_override[n] : false);
    }
protected:
    Swig::BoolArray<2> swig_override;
};


#endif
