Signature Description Parameters
templat<typename T, typename I = unsigned long>
struct ModeVisitor;
This is a “single action visitor”, meaning it is passed the whole data vector in one call and you must use the single_action_visit() interface.
This functor class finds the N highest mode (N most repeated values) of the given column.
The result is an array of N items each of this type:
        struct  DataItem  {
            // Value of the column item
            value_type               value;
            // List of indices where value occurred
            std::vector  indices;
            // Number of times value occurred
            inline size_type repeat_count() const  { return (indices.size()); }
            // List of column indices where value occurred
            std::vector   value_indices_in_col;
        };
        
N: Number of modes to find
T: Column data type
I: Index type