// -*- C++ -*- #ifndef __cxz_ranges_base_def_h__ #define __cxz_ranges_base_def_h__ #include #include #ifndef CHECK #define CHECK std::cout << __FILE__ << ": @" << __LINE__ << " in " << __func__ << std::endl; #endif #ifndef VCHECK #define VCHECK(a) std::cout << __FILE__ << ": @" << __LINE__ \ << " in " << __func__ << ": " << #a << " = " << a << std::endl; #endif #include "allocator.h" #define MUI static_cast(-1) namespace CNORXZ { template using SIZET = size_t; /*********************** * Provided Types * ***********************/ // range_base.h enum class SpaceType; // range_base.h class RangeFactoryBase; // range_base.h class RangeBase; // range_base.h template class RangeInterface; // index_base.h template class IndexInterface; // single_range.h template class GenSingleRange; // single_range.h template class GenSingleRangeFactory; // single_range.h template class GenSingleIndex; // subrange.h template class SubIndex; // subrange.h template class SubRangeFactory; // subrange.h template class SubRange; // multi_range.h template class MultiRangeFactory; // multi_range.h template class MultiRange; // multi_range.h template class MultiIndex; // anonymous_range.h class AnonymousRangeFactory; // dynamic_range.h class IndexWrapperBase; // dynamic_range.h template class IndexWrapper; // dynamic_range.h class DynamicIndex; // dynamic_range.h class DynamicRangeFactory; // dynamic_range.h class DynamicRange; // value_range.h template class ValueRange; template class ValueRangeFactory; template class ValueIndex; } #endif