// -*- C++ -*- #ifndef __ranges_base_def_h__ #define __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 namespace MultiArrayTools { 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 SingleRange; // single_range.h template class SingleRangeFactory; // single_range.h template class SingleIndex; // multi_range.h template class MultiRangeFactory; // multi_range.h template class MultiRange; // multi_range.h template class MultiIndex; // container_range.h //template //class ContainerRangeFactory; template using ContainerRangeFactory = MultiRangeFactory; // container_range.h //template //class ContainerRange; template using ContainerRange = MultiRange; // container_range.h template class ContainerIndex; // anonymous_range.h class AnonymousRangeFactory; // anonymous_range.h //class AnonymousRange; // dynamic_range.h template class DynamicIndex; // dynamic_range.h template class DynamicRangeFactory; // dynamic_range.h template class DynamicRange; // value_range.h template class ValueRange; template class ValueRangeFactory; template class ValueIndex; } #endif