arcstk namespace

libarcstk main namespace

Namespaces

namespace v_1_0_0 inline
API version 1.0.0.

Classes

class v_1_0_0::AlbumVerifier
Verifier for a list of checksums accompanied by a TOC.
class v_1_0_0::Appender
A named logging output channel.
class v_1_0_0::ARId
AccurateRip-Identifier of a compact disc.
class v_1_0_0::AudioSize
Uniform access to the size of the input audio information.
class v_1_0_0::CalcContext
Interface for information about the current audio input.
class v_1_0_0::Calculation
Checksum calculation for a requested checksum::type.
struct v_1_0_0::CDDA
Constants related to the CDDA format.
class v_1_0_0::Checksum
An AccurateRip checksum for a single file or track.
class v_1_0_0::Checksums
The result of a Calculation, an iterable list of ChecksumSets.
class v_1_0_0::ChecksumSet
A set of Checksum instances of different types for a single track.
class v_1_0_0::ChecksumSource
Interface: unified access to checksum containers.
template<typename T>
class v_1_0_0::ChecksumSourceOf
Wrap a checksum container in a ChecksumSource.
class v_1_0_0::DBAR
Represents the content of dBAR file.
class v_1_0_0::DBARBlock
A block in a DBAR.
class v_1_0_0::DBARBlockHeader
The header of a DBARBlock.
class v_1_0_0::DBARBuilder
ParseHandler to build a DBAR object.
class v_1_0_0::DBARErrorHandler
Default ParseErrorHandler for parsing DBAR objects.
class v_1_0_0::DBARSource
Access DBAR as a ChecksumSource.
class v_1_0_0::DBARTriplet
A triplet in a DBARBlock.
class v_1_0_0::InvalidMetadataException
Reports invalid metadata for building a TOC.
class v_1_0_0::Log
A single logging operation of a Logger using a specified LOGLEVEL.
class v_1_0_0::Logger
Logs a message to its registered Appenders.
class v_1_0_0::Logging
A singleton interface used by all Log instances.
class v_1_0_0::NonstandardMetadataException
Reports metadata violating the redbook standard.
class v_1_0_0::ParseErrorHandler
Interface: error handling while parsing a dBAR format.
class v_1_0_0::ParseHandler
Interface: parsing a byte stream in dBAR format.
class v_1_0_0::SampleInputIterator
Type erasing interface for iterators over PCM 32 bit samples.
template<typename T, bool is_planar>
class v_1_0_0::SampleSequence
A sequence of samples represented by 16 or 32 bit integral types.
class v_1_0_0::StreamParseException
Reports a read error during parsing a binary stream.
class v_1_0_0::TOC
Table of contents of a compact disc.
class v_1_0_0::TracksetVerifier
Verifier for a set of checksums without a TOC.
class VerificationResult
Interface: Result of a verification process.
class Verifier
Interface: perform a verification.

Enums

enum class LOGLEVEL: int16_t { NONE = 0, ERROR = 1, WARNING = 2, INFO = 3, DEBUG = 4, DEBUG1 = 5, DEBUG2 = 6, DEBUG3 = 7, DEBUG4 = 8 }
Range of log levels.

Typedefs

template<typename T>
using InterleavedSamples = SampleSequence<T, false>
Interleaved sample sequence with samples of type T.
template<typename T>
using IsFilenameContainer = std::enable_if_t<details::is_filename_container<T>::value>
Defined iff T is a container whose value_type IsFilenameType.
template<typename T>
using IsFilenameType = std::enable_if_t<details::is_filename_type<T>::value>
Defined iff T is a filename type, i.e. std::string or std::wstring.
template<typename T>
using IsLBAContainer = std::enable_if_t<details::is_lba_container<T>::value>
Defined iff T is a container whose value_type IsLBAType.
template<typename T>
using IsLBAType = std::enable_if_t<details::is_lba_type<T>::value>
Defined iff T is a numerical integer type of at least 32 bit size.
using lba_count_t = int32_t
Type to represent amounts of LBA frames.
template<typename T>
using PlanarSamples = SampleSequence<T, true>
Planar sample sequence with samples of type T.
using sample_count_t = int32_t
Type to represent amounts of PCM 32 bit samples.
using sample_t = uint32_t
Type to represent a 32 bit PCM stereo sample.
using TrackNo = int
Type to represent 1-based track numbers.

Functions

auto api_version_is_at_least(const int major, const int minor, const int patch) -> bool
Compares specified version to actual version.
auto is_valid_arcs(const uint32_t value) -> bool
Check a parsed value whether it is a valid ARCS (also frame 450 ARCS).
auto is_valid_confidence(const unsigned value) -> bool
Check a parsed value whether it is a valid confidence.
auto load_file(const std::string& filename) -> DBAR
Read an AccurateRip response file to a DBAR object.
auto make_arid(const std::unique_ptr<TOC>& toc, const lba_count_t leadout) -> std::unique_ptr<ARId>
Create an ARId from a TOC and a specified leadout.
auto make_arid(const TOC& toc) -> std::unique_ptr<ARId>
Create an ARId from a complete() TOC.
auto make_arid(const TOC& toc, const lba_count_t leadout) -> std::unique_ptr<ARId>
Create an ARId from a TOC and a specified leadout.
template<typename LBAContainer, typename = IsLBAContainer<LBAContainer>>
auto make_arid(const TrackNo track_count, LBAContainer&& offsets, const lba_count_t leadout) -> std::unique_ptr<ARId>
Create an ARId by track_count, offsets and leadout.
template<typename T, typename = IsLBAType<T>>
auto make_arid(const TrackNo track_count, std::initializer_list<T> offsets, const lba_count_t leadout) -> std::unique_ptr<ARId>
Create an ARId by track_count, offsets and leadout.
template<typename LBAContainer, typename = IsLBAContainer<LBAContainer>>
auto make_arid(LBAContainer&& offsets, const lba_count_t leadout) -> std::unique_ptr<ARId>
Create an ARId by offsets and leadout.
template<typename T, typename = IsLBAType<T>>
auto make_arid(std::initializer_list<T> offsets, const lba_count_t leadout) -> std::unique_ptr<ARId>
Create an ARId by offsets and leadout.
auto make_context(const bool& skip_front, const bool& skip_back) -> std::unique_ptr<CalcContext>
Create a CalcContext from two skip flags.
auto make_context(const bool& skip_front, const bool& skip_back, const std::string& audiofilename) -> std::unique_ptr<CalcContext>
Create a CalcContext from an audio filename and two skip flags.
auto make_context(const TOC& toc) -> std::unique_ptr<CalcContext>
Create a CalcContext from a TOC.
auto make_context(const TOC& toc, const std::string& audiofilename) -> std::unique_ptr<CalcContext>
Create a CalcContext from an audio filename and a TOC.
auto make_empty_arid() -> std::unique_ptr<ARId> noexcept
Create an empty() ARId.
template<typename LBAContainer, typename FilenameContainer = std::vector<std::string>, typename = IsLBAContainer<LBAContainer>, typename = IsFilenameContainer<FilenameContainer>>
auto make_toc(const TrackNo track_count, LBAContainer&& offsets, const lba_count_t leadout, FilenameContainer&& files = {}) -> std::unique_ptr<TOC>
Create a TOC by track count, offsets, leadout and optional filenames.
template<typename LBAContainer1, typename LBAContainer2, typename FilenameContainer = std::vector<std::string>, typename = IsLBAContainer<LBAContainer1>, typename = IsLBAContainer<LBAContainer2>, typename = IsFilenameContainer<FilenameContainer>>
auto make_toc(const TrackNo track_count, LBAContainer1&& offsets, LBAContainer2&& lengths, FilenameContainer&& files = {}) -> std::unique_ptr<TOC>
Create a TOC by track count, offsets, lengths and optional filenames.
template<typename LBAContainer, typename FilenameContainer = std::vector<std::string>, typename = IsLBAContainer<LBAContainer>, typename = IsFilenameContainer<FilenameContainer>>
auto make_toc(LBAContainer&& offsets, const lba_count_t leadout, FilenameContainer&& files = {}) -> std::unique_ptr<TOC>
Create a TOC by offsets, leadout and optional filenames.
template<typename LBAContainer1, typename LBAContainer2, typename FilenameContainer = std::vector<std::string>, typename = IsLBAContainer<LBAContainer1>, typename = IsLBAContainer<LBAContainer2>, typename = IsFilenameContainer<FilenameContainer>>
auto make_toc(LBAContainer1&& offsets, LBAContainer2&& lengths, FilenameContainer&& files = {}) -> std::unique_ptr<TOC>
Create a TOC by offsets, lengths and optional filenames.
auto now_time() -> std::string
Returns the current time in the format 'YYYY-MM-DD hh:mm:ss.lll'.
auto operator<<(std::ostream&, const VerificationResult& r) -> std::ostream&
Print a VerificationResult to a stream.
auto parse_file(const std::string& filename, ParseHandler* p, ParseErrorHandler* e) -> uint32_t
Parse a file.
auto parse_stream(std::istream& in, ParseHandler* p, ParseErrorHandler* e) -> uint32_t
Parse an input stream.

Variables

const ARId EmptyARId
Global instance of an empty ARId.
const Checksum EmptyChecksum
Global instance of an empty Checksum.
const std::string LIBARCSTK_GIT_VERSION
Version info as shown by git describe --always HEAD.
const std::string LIBARCSTK_NAME
Library name.
const std::string LIBARCSTK_VERSION
Complete semantic version information.
const int LIBARCSTK_VERSION_MAJOR
Major version number.
const int LIBARCSTK_VERSION_MINOR
Minor version number.
const int LIBARCSTK_VERSION_PATCH
Patch level.
const std::string LIBARCSTK_VERSION_SUFFIX
Version suffix (e.g. 'alpha.1', 'beta.6', 'rc.3' etc.).
const int LOGLEVEL_MAX
Numeric representation of the maximum legal loglevel.
const int LOGLEVEL_MIN
Numeric representation of the minimal legal loglevel.