<commit_before>#pragma once


#include <any.hpp>

namespace shadow
{
class object
{
public:
private:
    any value_;
};
}<commit_msg>Add class type_tag with some member functions. 	modified:   include/api_types.hpp<commit_after>#pragma once


#include <string>
#include <cstddef>

#include <any.hpp>
#include <reflection_info.hpp>

namespace shadow
{

class type_tag
{
public:
    std::string name() const;
    std::size_t size() const;

private:
    const type_info* info_ptr_;
};


class object
{
public:
private:
    any value_;
};
}


namespace shadow
{

inline std::string
type_tag::name() const
{
    return std::string(info_ptr_->name);
}

inline std::size_t
type_tag::size() const
{
    return info_ptr_->size;
}
}
{'fraction_non_alphanumeric': 0.1260387811634349, 'fraction_numerical': 0.0, 'mean_word_length': 4.395522388059701, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 10, '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': '620372', 'n_tokens_mistral': 261, 'n_tokens_neox': 255, 'n_words': 65}