1 /* 2 mkvmerge -- utility for splicing together matroska files 3 from component media subtypes 4 5 Distributed under the GPL v2 6 see the file COPYING for details 7 or visit https://www.gnu.org/licenses/old-licenses/gpl-2.0.html 8 9 ISO 639 types 10 11 Written by Moritz Bunkus <moritz@bunkus.org>. 12 */ 13 14 #pragma once 15 16 #include <string> 17 #include <vector> 18 19 namespace mtx::iso639 { 20 21 struct language_t { 22 std::string const english_name, alpha_3_code, alpha_2_code, terminology_abbrev; 23 bool is_part_of_iso639_2{}; 24 language_tlanguage_t25 language_t(std::string &&p_english_name, std::string &&p_alpha_3_code, std::string &&p_alpha_2_code, std::string &&p_terminology_abbrev, bool p_is_part_of_iso639_2) 26 : english_name{std::move(p_english_name)} 27 , alpha_3_code{std::move(p_alpha_3_code)} 28 , alpha_2_code{std::move(p_alpha_2_code)} 29 , terminology_abbrev{std::move(p_terminology_abbrev)} 30 , is_part_of_iso639_2{p_is_part_of_iso639_2} 31 { 32 } 33 }; 34 35 extern std::vector<language_t> g_languages; 36 37 } // namespace mtx::iso639 38