<commit_before>//
//  yas_audio_rendering_node.h
//

#pragma once

#include <audio/yas_audio_pcm_buffer.h>
#include <audio/yas_audio_time.h>

#include <unordered_map>
#include <unordered_set>

namespace yas::audio {
struct rendering_node {
    using node_map = std::unordered_map<uint32_t, rendering_node const *>;

    struct render_args {
        audio::pcm_buffer *const buffer;
        uint32_t const bus_idx;
        audio::time const &time;

        node_map const &input_nodes;
    };

    using render_f = std::function<void(render_args const &)>;

    render_f const render_handler;
    node_map const input_nodes;

    void render(audio::pcm_buffer *const, uint32_t const bus_idx, audio::time const &);

   private:
    rendering_node(rendering_node const &) = delete;
    rendering_node(rendering_node &&) = delete;
    rendering_node &operator=(rendering_node const &) = delete;
    rendering_node &operator=(rendering_node &&) = delete;
};

using rendering_node_set = std::unordered_set<rendering_node>;
}  // namespace yas::audio<commit_msg>const<commit_after>//
//  yas_audio_rendering_node.h
//

#pragma once

#include <audio/yas_audio_pcm_buffer.h>
#include <audio/yas_audio_time.h>

#include <unordered_map>
#include <unordered_set>

namespace yas::audio {
struct rendering_node {
    using node_map = std::unordered_map<uint32_t, rendering_node const *>;

    struct render_args {
        audio::pcm_buffer *const buffer;
        uint32_t const bus_idx;
        audio::time const &time;

        node_map const &input_nodes;
    };

    using render_f = std::function<void(render_args const &)>;

    render_f const render_handler;
    node_map const input_nodes;

    void render(audio::pcm_buffer *const, uint32_t const bus_idx, audio::time const &) const;

   private:
    rendering_node(rendering_node const &) = delete;
    rendering_node(rendering_node &&) = delete;
    rendering_node &operator=(rendering_node const &) = delete;
    rendering_node &operator=(rendering_node &&) = delete;
};

using rendering_node_set = std::unordered_set<rendering_node>;
}  // namespace yas::audio
{'fraction_non_alphanumeric': 0.10910815939278938, 'fraction_numerical': 0.0056925996204933585, 'mean_word_length': 4.298994974874372, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, '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': '5709195', 'n_tokens_mistral': 707, 'n_tokens_neox': 696, 'n_words': 142}