Program Listing for File print_introspective_states.hpp¶
↰ Return to documentation for file (include/dish2/config/print_introspective_states.hpp)
#pragma once
#ifndef DISH2_CONFIG_PRINT_INTROSPECTIVE_STATES_HPP_INCLUDE
#define DISH2_CONFIG_PRINT_INTROSPECTIVE_STATES_HPP_INCLUDE
#include <iostream>
#include "../../../third-party/Empirical/include/emp/base/macros.hpp"
#include "../debug/log_tee.hpp"
#include "../peripheral/readable_state/introspective_state/IntrospectiveState.hpp"
#include "cfg.hpp"
namespace dish2 {
template< typename Spec >
void print_introspective_states() {
dish2::log_tee << "==============================" << '\n';
dish2::log_tee << "| Introspective States |" << '\n';
dish2::log_tee << "==============================" << '\n';
const size_t num_writables = dish2::IntrospectiveState<Spec>::parent_size;
for (size_t i{}; i < num_writables; ++i) {
dish2::log_tee
<< i << ' '
<< dish2::IntrospectiveState< Spec >::GetLeafTypeName( i ) << '\n';
}
dish2::log_tee << "==============================\n" << '\n';
}
} // namespace dish2
#endif // #ifndef DISH2_CONFIG_PRINT_INTROSPECTIVE_STATES_HPP_INCLUDE