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 Helper functions for creating unique numbers. 10 11 Written by Moritz Bunkus <moritz@bunkus.org>. 12 */ 13 14 #pragma once 15 16 #include "common/common_pch.h" 17 18 enum unique_id_category_e { 19 UNIQUE_ALL_IDS = -1, 20 UNIQUE_TRACK_IDS = 0, 21 UNIQUE_CHAPTER_IDS = 1, 22 UNIQUE_EDITION_IDS = 2, 23 UNIQUE_ATTACHMENT_IDS = 3 24 }; 25 26 void clear_list_of_unique_numbers(unique_id_category_e category); 27 bool is_unique_number(uint64_t number, unique_id_category_e category); 28 void add_unique_number(uint64_t number, unique_id_category_e category); 29 void remove_unique_number(uint64_t number, unique_id_category_e category); 30 uint64_t create_unique_number(unique_id_category_e category); 31 void ignore_unique_numbers(unique_id_category_e category); 32