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

package de.blichmann.idajava.natives;

public class qvector_area_t {
  private long swigCPtr;
  protected boolean swigCMemOwn;

  public qvector_area_t(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

  public static long getCPtr(qvector_area_t obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected void finalize() {
    delete();
  }

  public synchronized void delete() {
    if (swigCPtr != 0) {
      if (swigCMemOwn) {
        swigCMemOwn = false;
        IdaJavaJNI.delete_qvector_area_t(swigCPtr);
      }
      swigCPtr = 0;
    }
  }

  public qvector_area_t() {
    this(IdaJavaJNI.new_qvector_area_t__SWIG_0(), true);
  }

  public qvector_area_t(qvector_area_t x) {
    this(IdaJavaJNI.new_qvector_area_t__SWIG_1(qvector_area_t.getCPtr(x), x), true);
  }

  public void push_back(area_t x) {
    IdaJavaJNI.qvector_area_t_push_back__SWIG_0(swigCPtr, this, area_t.getCPtr(x), x);
  }

  public area_t push_back() {
    return new area_t(IdaJavaJNI.qvector_area_t_push_back__SWIG_1(swigCPtr, this), false);
  }

  public void pop_back() {
    IdaJavaJNI.qvector_area_t_pop_back(swigCPtr, this);
  }

  public long size() {
    return IdaJavaJNI.qvector_area_t_size(swigCPtr, this);
  }

  public boolean empty() {
    return IdaJavaJNI.qvector_area_t_empty(swigCPtr, this);
  }

  public area_t __aref__(long idx) {
    return new area_t(IdaJavaJNI.qvector_area_t___aref____SWIG_0(swigCPtr, this, idx), false);
  }

  public area_t at(long idx) {
    return new area_t(IdaJavaJNI.qvector_area_t_at__SWIG_0(swigCPtr, this, idx), false);
  }

  public area_t front() {
    return new area_t(IdaJavaJNI.qvector_area_t_front__SWIG_0(swigCPtr, this), false);
  }

  public area_t back() {
    return new area_t(IdaJavaJNI.qvector_area_t_back__SWIG_0(swigCPtr, this), false);
  }

  public void qclear() {
    IdaJavaJNI.qvector_area_t_qclear(swigCPtr, this);
  }

  public void clear() {
    IdaJavaJNI.qvector_area_t_clear(swigCPtr, this);
  }

  public qvector_area_t __assign__(qvector_area_t x) {
    return new qvector_area_t(IdaJavaJNI.qvector_area_t___assign__(swigCPtr, this, qvector_area_t.getCPtr(x), x), false);
  }

  public void resize(long s, area_t x) {
    IdaJavaJNI.qvector_area_t_resize__SWIG_0(swigCPtr, this, s, area_t.getCPtr(x), x);
  }

  public void resize(long s) {
    IdaJavaJNI.qvector_area_t_resize__SWIG_1(swigCPtr, this, s);
  }

  public void grow(area_t x) {
    IdaJavaJNI.qvector_area_t_grow__SWIG_0(swigCPtr, this, area_t.getCPtr(x), x);
  }

  public void grow() {
    IdaJavaJNI.qvector_area_t_grow__SWIG_1(swigCPtr, this);
  }

  public long capacity() {
    return IdaJavaJNI.qvector_area_t_capacity(swigCPtr, this);
  }

  public void reserve(long cnt) {
    IdaJavaJNI.qvector_area_t_reserve(swigCPtr, this, cnt);
  }

  public void move(area_t dst, area_t src, long cnt) {
    IdaJavaJNI.qvector_area_t_move(swigCPtr, this, area_t.getCPtr(dst), dst, area_t.getCPtr(src), src, cnt);
  }

  public void truncate() {
    IdaJavaJNI.qvector_area_t_truncate(swigCPtr, this);
  }

  public void swap(qvector_area_t r) {
    IdaJavaJNI.qvector_area_t_swap(swigCPtr, this, qvector_area_t.getCPtr(r), r);
  }

  public area_t extract() {
    long cPtr = IdaJavaJNI.qvector_area_t_extract(swigCPtr, this);
    return (cPtr == 0) ? null : new area_t(cPtr, false);
  }

  public void inject(area_t s, long len) {
    IdaJavaJNI.qvector_area_t_inject(swigCPtr, this, area_t.getCPtr(s), s, len);
  }

  public boolean __eq__(qvector_area_t r) {
    return IdaJavaJNI.qvector_area_t___eq__(swigCPtr, this, qvector_area_t.getCPtr(r), r);
  }

  public boolean __ne__(qvector_area_t r) {
    return IdaJavaJNI.qvector_area_t___ne__(swigCPtr, this, qvector_area_t.getCPtr(r), r);
  }

  public area_t begin() {
    long cPtr = IdaJavaJNI.qvector_area_t_begin__SWIG_0(swigCPtr, this);
    return (cPtr == 0) ? null : new area_t(cPtr, false);
  }

  public area_t end() {
    long cPtr = IdaJavaJNI.qvector_area_t_end__SWIG_0(swigCPtr, this);
    return (cPtr == 0) ? null : new area_t(cPtr, false);
  }

  public area_t insert(area_t it, area_t x) {
    long cPtr = IdaJavaJNI.qvector_area_t_insert(swigCPtr, this, area_t.getCPtr(it), it, area_t.getCPtr(x), x);
    return (cPtr == 0) ? null : new area_t(cPtr, false);
  }

  public area_t erase(area_t it) {
    long cPtr = IdaJavaJNI.qvector_area_t_erase__SWIG_0(swigCPtr, this, area_t.getCPtr(it), it);
    return (cPtr == 0) ? null : new area_t(cPtr, false);
  }

  public area_t erase(area_t first, area_t last) {
    long cPtr = IdaJavaJNI.qvector_area_t_erase__SWIG_1(swigCPtr, this, area_t.getCPtr(first), first, area_t.getCPtr(last), last);
    return (cPtr == 0) ? null : new area_t(cPtr, false);
  }

  public area_t find(area_t x) {
    long cPtr = IdaJavaJNI.qvector_area_t_find__SWIG_0(swigCPtr, this, area_t.getCPtr(x), x);
    return (cPtr == 0) ? null : new area_t(cPtr, false);
  }

  public boolean has(area_t x) {
    return IdaJavaJNI.qvector_area_t_has(swigCPtr, this, area_t.getCPtr(x), x);
  }

  public boolean add_unique(area_t x) {
    return IdaJavaJNI.qvector_area_t_add_unique(swigCPtr, this, area_t.getCPtr(x), x);
  }

  public boolean del(area_t x) {
    return IdaJavaJNI.qvector_area_t_del(swigCPtr, this, area_t.getCPtr(x), x);
  }

}
