<commit_before>//
//  yas_audio_node_impl.h
//

#pragma once

#include "yas_audio_node_kernel.h"
#include "yas_audio_node_protocol.h"

namespace yas {
namespace audio {
    struct node::impl : base::impl, manageable_node::impl, connectable_node::impl {
        impl();
        virtual ~impl();

        impl(impl const &) = delete;
        impl(impl &&) = delete;
        impl &operator=(impl const &) = delete;
        impl &operator=(impl &&) = delete;

        virtual void reset();  // requires super

        audio::format input_format(uint32_t const bus_idx);
        audio::format output_format(uint32_t const bus_idx);
        virtual bus_result_t next_available_input_bus() const;
        virtual bus_result_t next_available_output_bus() const;
        virtual bool is_available_input_bus(uint32_t const bus_idx) const;
        virtual bool is_available_output_bus(uint32_t const bus_idx) const;

        virtual uint32_t input_bus_count() const;
        virtual uint32_t output_bus_count() const;

        audio::connection input_connection(uint32_t const bus_idx) const override;
        audio::connection output_connection(uint32_t const bus_idx) const override;
        audio::connection_wmap &input_connections() const override;
        audio::connection_wmap &output_connections() const override;

        void add_connection(audio::connection const &connection) override;
        void remove_connection(audio::connection const &connection) override;

        virtual void update_connections() override;
        virtual node::kernel make_kernel();
        virtual void prepare_kernel(node::kernel &kernel);  // requires super
        void update_kernel() override;

        template <typename T = audio::node::kernel>
        T kernel_cast() const {
            return yas::cast<T>(_kernel());
        }
<commit_msg>remove virtual from audio_node reset function<commit_after>//
//  yas_audio_node_impl.h
//

#pragma once

#include "yas_audio_node_kernel.h"
#include "yas_audio_node_protocol.h"

namespace yas {
namespace audio {
    struct node::impl : base::impl, manageable_node::impl, connectable_node::impl {
        impl();
        virtual ~impl();

        impl(impl const &) = delete;
        impl(impl &&) = delete;
        impl &operator=(impl const &) = delete;
        impl &operator=(impl &&) = delete;

        void reset();

        audio::format input_format(uint32_t const bus_idx);
        audio::format output_format(uint32_t const bus_idx);
        virtual bus_result_t next_available_input_bus() const;
        virtual bus_result_t next_available_output_bus() const;
        virtual bool is_available_input_bus(uint32_t const bus_idx) const;
        virtual bool is_available_output_bus(uint32_t const bus_idx) const;

        virtual uint32_t input_bus_count() const;
        virtual uint32_t output_bus_count() const;

        audio::connection input_connection(uint32_t const bus_idx) const override;
        audio::connection output_connection(uint32_t const bus_idx) const override;
        audio::connection_wmap &input_connections() const override;
        audio::connection_wmap &output_connections() const override;

        void add_connection(audio::connection const &connection) override;
        void remove_connection(audio::connection const &connection) override;

        virtual void update_connections() override;
        virtual node::kernel make_kernel();
        virtual void prepare_kernel(node::kernel &kernel);  // requires super
        void update_kernel() override;

        template <typename T = audio::node::kernel>
        T kernel_cast() const {
            return yas::cast<T>(_kernel());
        }

{'fraction_non_alphanumeric': 0.09326424870466321, 'fraction_numerical': 0.00872647941096264, 'mean_word_length': 3.435308343409915, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, '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': '4726286', 'n_tokens_mistral': 1043, 'n_tokens_neox': 1002, 'n_words': 258}