/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 3.0.8
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package de.hhu.ba.yoshikoWrapper.swig;

public class LibraryInterface {
  public static SWIGTYPE_p_std__vectorT_int_t new_IntVector() {
    long cPtr = LibraryInterfaceJNI.new_IntVector__SWIG_0();
    return (cPtr == 0) ? null : new SWIGTYPE_p_std__vectorT_int_t(cPtr, true);
  }

  public static SWIGTYPE_p_std__vectorT_int_t new_IntVector(long n) {
    long cPtr = LibraryInterfaceJNI.new_IntVector__SWIG_1(n);
    return (cPtr == 0) ? null : new SWIGTYPE_p_std__vectorT_int_t(cPtr, true);
  }

  public static long IntVector_size(SWIGTYPE_p_std__vectorT_int_t self) {
    return LibraryInterfaceJNI.IntVector_size(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self));
  }

  public static long IntVector_capacity(SWIGTYPE_p_std__vectorT_int_t self) {
    return LibraryInterfaceJNI.IntVector_capacity(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self));
  }

  public static void IntVector_reserve(SWIGTYPE_p_std__vectorT_int_t self, long n) {
    LibraryInterfaceJNI.IntVector_reserve(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self), n);
  }

  public static boolean IntVector_isEmpty(SWIGTYPE_p_std__vectorT_int_t self) {
    return LibraryInterfaceJNI.IntVector_isEmpty(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self));
  }

  public static void IntVector_clear(SWIGTYPE_p_std__vectorT_int_t self) {
    LibraryInterfaceJNI.IntVector_clear(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self));
  }

  public static void IntVector_add(SWIGTYPE_p_std__vectorT_int_t self, int x) {
    LibraryInterfaceJNI.IntVector_add(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self), x);
  }

  public static int IntVector_get(SWIGTYPE_p_std__vectorT_int_t self, int i) {
    return LibraryInterfaceJNI.IntVector_get(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self), i);
  }

  public static void IntVector_set(SWIGTYPE_p_std__vectorT_int_t self, int i, int val) {
    LibraryInterfaceJNI.IntVector_set(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self), i, val);
  }

  public static void delete_IntVector(SWIGTYPE_p_std__vectorT_int_t self) {
    LibraryInterfaceJNI.delete_IntVector(SWIGTYPE_p_std__vectorT_int_t.getCPtr(self));
  }

  public static SWIGTYPE_p_ysk__ClusterEditingSolutions new_ClusterEditingSolutions() {
    long cPtr = LibraryInterfaceJNI.new_ClusterEditingSolutions();
    return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingSolutions(cPtr, true);
  }

  public static long ClusterEditingSolutions_getNumberOfClusters(SWIGTYPE_p_ysk__ClusterEditingSolutions self, long i) {
    return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfClusters(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self), i);
  }

  public static SWIGTYPE_p_std__vectorT_int_t ClusterEditingSolutions_getCluster(SWIGTYPE_p_ysk__ClusterEditingSolutions self, long i, long k) {
    return new SWIGTYPE_p_std__vectorT_int_t(LibraryInterfaceJNI.ClusterEditingSolutions_getCluster(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self), i, k), false);
  }

  public static SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t ClusterEditingSolutions_getSolution(SWIGTYPE_p_ysk__ClusterEditingSolutions self, long i) {
    return new SWIGTYPE_p_std__vectorT_std__vectorT_int_t_t(LibraryInterfaceJNI.ClusterEditingSolutions_getSolution(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self), i), false);
  }

  public static long ClusterEditingSolutions_getNumberOfSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions self) {
    return LibraryInterfaceJNI.ClusterEditingSolutions_getNumberOfSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self));
  }

  public static double ClusterEditingSolutions_getTotalCost(SWIGTYPE_p_ysk__ClusterEditingSolutions self) {
    return LibraryInterfaceJNI.ClusterEditingSolutions_getTotalCost(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self));
  }

  public static void delete_ClusterEditingSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions self) {
    LibraryInterfaceJNI.delete_ClusterEditingSolutions(SWIGTYPE_p_ysk__ClusterEditingSolutions.getCPtr(self));
  }

  public static SWIGTYPE_p_yskInput__LibraryInput new_LibraryInput() {
    long cPtr = LibraryInterfaceJNI.new_LibraryInput();
    return (cPtr == 0) ? null : new SWIGTYPE_p_yskInput__LibraryInput(cPtr, true);
  }

  public static void delete_LibraryInput(SWIGTYPE_p_yskInput__LibraryInput self) {
    LibraryInterfaceJNI.delete_LibraryInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self));
  }

  public static void LibraryInput_setSize(SWIGTYPE_p_yskInput__LibraryInput self, long id) {
    LibraryInterfaceJNI.LibraryInput_setSize(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), id);
  }

  public static void LibraryInput_addEdge(SWIGTYPE_p_yskInput__LibraryInput self, long sourceID, long targetID, double cost) {
    LibraryInterfaceJNI.LibraryInput_addEdge__SWIG_0(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), sourceID, targetID, cost);
  }

  public static void LibraryInput_addEdge(SWIGTYPE_p_yskInput__LibraryInput self, long sourceID, long targetID, double cost, boolean permanent, boolean forbidden) {
    LibraryInterfaceJNI.LibraryInput_addEdge__SWIG_1(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(self), sourceID, targetID, cost, permanent, forbidden);
  }

  public static String getVersionString() {
    return LibraryInterfaceJNI.getVersionString();
  }

  public static SWIGTYPE_p_ysk__ClusterEditingSolutions processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput libIn) {
    long cPtr = LibraryInterfaceJNI.processLibraryInput(SWIGTYPE_p_yskInput__LibraryInput.getCPtr(libIn));
    return (cPtr == 0) ? null : new SWIGTYPE_p_ysk__ClusterEditingSolutions(cPtr, false);
  }

}