/* Copyright (c) 2018 -- 2022
   Charles Jordan (Hokkaido University, Sapporo, Japan),
   Michael Joswig, Lars Kastner (Technische Universitaet Berlin, Germany)

   This program is free software; you can redistribute it and/or modify it
   under the terms of the GNU General Public License as published by the
   Free Software Foundation; either version 3, or (at your option) any
   later version: http://www.gnu.org/licenses/gpl.txt.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
-----------------------------------------------------------------------------
*/

///////////////////////////////////////////////////////////////////////////////
// File: IntegerSet.hh
//
// We use this to change IntegerSet to our custom type.
///////////////////////////////////////////////////////////////////////////////

#pragma once
#include <polymake/Set.h>

#include "LongBitset.hh"
// What IntegerSet should be used
#ifndef WITH_PM_BITSET
typedef LongBitset BaseSet;
#else
typedef pmBitsetWrap BaseSet;
#endif
typedef pmSet4Topcom<BaseSet> LongBitset4Topcom;
// typedefs relevant for --cyclic-flips
typedef BaseSet pmCircuit;
typedef BaseSet pmSimplex;
typedef LongBitset4Topcom IntegerSet;
typedef pm::Set<BaseSet> pmSimpComp;
