TypeDefs
-
template<typename _coordinate_t, typename _val_t, size_t _D, typename _class_key_t, template<typename> typename _dataset_vec_generator, template<typename> typename _coord_vec_generator, template<typename> typename _overlays_vec_generator, template<typename> typename _desc_vec_generator, template<typename> typename _points_vec_generator, template<typename> typename _prefix_sums_vec_generator, size_t _orthotope_dims, size_t _orthotope_power, bool _explain, typename _progress_stream_t>
class TypeDefs Definition of all compiletime parameters for Index.
The Index class takes this as a template parameter.
- Todo:
-low-prio a lot of the template parameters are not actually variable most of the time
having them drastically increases compiletime
also the TypeDefs class is kind of a bad idea since it needs to be instanciated every time
better approach:
create one big class/struct with the template parameters
then make everything a subclass of this one
split the commonly used and unused parameters into tow subclasses
- Template Parameters:
_coordinate_t – type of coordinates, expected to be an unsigned int.
_val_t – type of prefix sums, expected to be an unsigned int.
_D – number of dimensions.
_class_key_t – type of the dataset keys, expected to be an unsigned int.
_vec_generator – generator object that implements the file and vec methods. See DiskVecGenerator.
_orthotope_dims – number or orthotope dimensions
_explain – debugging parameter. Be verbose while creating and querying the index.
_progress_stream_t – object that catches all the print output. See StdOutProgressStream.
Public Types
-
using coordinate_t = _coordinate_t
individual coordinate position
-
using pos_t = std::array<coordinate_t, D>
position of a point (with dependent dimensions; used internally)
-
using class_key_t = _class_key_t
key of a dataset
-
using ret_pos_t = std::array<coordinate_t, D - ORTHOTOPE_DIMS>
position of a point