mp4chapter.h
Go to the documentation of this file.
/**************************************************************************
copyright : (C) 2026 by Ryan Francesconi
**************************************************************************/
/***************************************************************************
* This library is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License version *
* 2.1 as published by the Free Software Foundation. *
* *
* This library is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; if not, write to the Free Software *
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
* 02110-1301 USA *
* *
* Alternatively, this file is available under the Mozilla Public *
* License Version 1.1. You may obtain a copy of the License at *
* http://www.mozilla.org/MPL/ *
***************************************************************************/
#ifndef TAGLIB_MP4CHAPTER_H
#define TAGLIB_MP4CHAPTER_H
#include <memory>
#include "taglib_export.h"
#include "tlist.h"
namespace TagLib {
class String;
namespace MP4 {
class TAGLIB_EXPORT Chapter {
public:
Chapter(const String &title, long long startTime);
Chapter(const Chapter &other);
Chapter(Chapter &&other) noexcept;
~Chapter();
Chapter &operator=(const Chapter &other);
Chapter &operator=(Chapter &&other) noexcept;
bool operator==(const Chapter &other) const;
bool operator!=(const Chapter &other) const;
void swap(Chapter &other) noexcept;
const String &title() const;
long long startTime() const;
private:
class ChapterPrivate;
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
std::unique_ptr<ChapterPrivate> d;
};
using ChapterList = List<Chapter>;
} // namespace MP4
} // namespace TagLib
#endif
TagLib::List
A generic, implicitly shared list.
Definition tlist.h:54
TagLib::MP4::Chapter::~Chapter
~Chapter()
TagLib::MP4::Chapter::operator==
bool operator==(const Chapter &other) const
TagLib::MP4::Chapter::title
const String & title() const
TagLib::MP4::Chapter::operator!=
bool operator!=(const Chapter &other) const
TagLib::MP4::Chapter::startTime
long long startTime() const
TagLib::MP4::Chapter::swap
void swap(Chapter &other) noexcept
TagLib::MP4::Chapter::Chapter
Chapter(const String &title, long long startTime)
TagLib::MP4::Chapter::Chapter
Chapter(Chapter &&other) noexcept
TagLib::MP4::Chapter::operator=
Chapter & operator=(const Chapter &other)
TagLib::MP4::Chapter::Chapter
Chapter(const Chapter &other)
TagLib::MP4::Chapter::operator=
Chapter & operator=(Chapter &&other) noexcept
TagLib::String
A wide string class suitable for unicode.
Definition tstring.h:83
TagLib::MP4
An implementation of MP4 (AAC, ALAC, ...) metadata.
Definition mp4atom.h:35
TagLib::MP4::ChapterList
List< Chapter > ChapterList
List of chapters.
Definition mp4chapter.h:103
TagLib
A namespace for all TagLib related classes and functions.
Definition apefile.h:41
taglib_export.h
TAGLIB_EXPORT
#define TAGLIB_EXPORT
Definition taglib_export.h:40
TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
#define TAGLIB_MSVC_SUPPRESS_WARNING_NEEDS_TO_HAVE_DLL_INTERFACE
Definition taglib_export.h:55
tlist.h