<commit_before>/*M///////////////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2015, <NAME>
// Copyright (c) 2015, ELM Library Project
// 3-clause BSD License
//
//M*/
#ifndef _ELM_CORE_FEATUREDATA_H_
#define _ELM_CORE_FEATUREDATA_H_

#include <iosfwd>

#include <boost/variant/.hpp>

#include "elm/core/cv/typedefs_fwd.h"
#include "elm/core/visitors/visitors.h"

namespace elm {

/**
 * @brief The Feature data class.
 * Encapsulating a feature in multiple types and caching different represenations
 *
 * @todo map getter typename to visitor object at runtime
 */
class FeatureData
{
public:
    /**
     * @brief Construct a new object with initially represented as a Mat
     */
    FeatureData(const cv::Mat &m)
    {
        var_ = static_cast<cv::Mat1f >(m);
    }

    /**
     * @brief Construct a new object with initial representation<commit_msg>revert typedef<commit_after>/*M///////////////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2015, <NAME>
// Copyright (c) 2015, ELM Library Project
// 3-clause BSD License
//
//M*/
#ifndef _ELM_CORE_FEATUREDATA_H_
#define _ELM_CORE_FEATUREDATA_H_

#include <iosfwd>

#include <boost/variant.hpp>

#include "elm/core/cv/typedefs_fwd.h"
#include "elm/core/visitors/visitors.h"

namespace elm {

/**
 * @brief The Feature data class.
 * Encapsulating a feature in multiple types and caching different represenations
 *
 * @todo map getter typename to visitor object at runtime
 */
class FeatureData
{
public:
    /**
     * @brief Construct a new object with initially represented as a Mat
     */
    FeatureData(const cv::Mat &m)
    {
        var_ = static_cast<cv::Mat1f >(m);
    }

    /**
     * @brief Construct a new object with initial representation
{'fraction_non_alphanumeric': 0.20077433628318583, 'fraction_numerical': 0.011061946902654867, 'mean_word_length': 2.2950819672131146, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5371129', 'n_tokens_mistral': 565, 'n_tokens_neox': 548, 'n_words': 162}