#ifndef DNA_HPP #define DNA_HPP #include "Global.hpp" #include "IStreamReader.hpp" #include "IStreamWriter.hpp" #include namespace Athena { namespace io { /** * @brief Base DNA class used against 'atdna' * * Athena bundles a build-tool called 'atdna'. This tool functions * just like the 'clang' compiler, except it emits */ template struct DNA { template using Value = T; template using Vector = std::vector; virtual void read(IStreamReader&)=0; virtual void write(IStreamWriter&) const=0; }; } } #endif // DNA_HPP