# FLAC++/metadata.h: metadata object classes
[FLAC++/metadata.h: metadata interfaces]

## Detailed Description

This module contains classes representing FLAC metadata blocks in memory.

The behavior closely mimics the C layer interface; be sure to read the detailed description of the C metadata object module .

Any time a metadata object is constructed or assigned, you should check is_valid() to make sure the underlying FLAC__StreamMetadata object was able to be created.

Warning:
  When the get_*() methods of any metadata object method return you a const pointer, DO NOT disobey and write into it. Always use the set_*() methods.

## Classes

class | FLAC::Metadata::Prototype
class | FLAC::Metadata::StreamInfo
class | FLAC::Metadata::Padding
class | FLAC::Metadata::Application
class | FLAC::Metadata::SeekTable
class | FLAC::Metadata::VorbisComment
class | FLAC::Metadata::CueSheet
class | FLAC::Metadata::Picture
class | FLAC::Metadata::Unknown

## Functions

Prototype * | FLAC::Metadata::clone (const Prototype *)
bool | FLAC::Metadata::Prototype::operator== (const Prototype &) const
bool | operator== (const ::FLAC__StreamMetadata &) const
bool | operator== (const ::FLAC__StreamMetadata *) const
bool | FLAC::Metadata::Prototype::operator!= (const Prototype &) const
bool | operator!= (const ::FLAC__StreamMetadata &) const
bool | operator!= (const ::FLAC__StreamMetadata *) const
bool | FLAC::Metadata::Prototype::is_valid () const
| FLAC::Metadata::Prototype::operator const ::FLAC__StreamMetadata * () const

## Function Documentation

Prototype* FLAC::Metadata::clone | ( | const Prototype * |  | ) |

| Create a deep copy of an object and return it.

bool FLAC::Metadata::Prototype::operator== | ( | const Prototype & |  | ) | const`[inline, inherited]`

| Check for equality, performing a deep compare by following pointers.

bool FLAC::Metadata::Prototype::operator!= | ( | const Prototype & |  | ) | const`[inline, inherited]`

| Check for inequality, performing a deep compare by following pointers.

bool FLAC::Metadata::Prototype::is_valid | ( |  | ) | const`[inline, inherited]`

| Returns `true` if the object was correctly constructed (i.e. the underlying FLAC__StreamMetadata object was properly allocated), else `false`.

FLAC::Metadata::Prototype::operator const ::FLAC__StreamMetadata * | ( |  | ) | const`[inline, inherited]`

Returns a pointer to the underlying FLAC__StreamMetadata object. This can be useful for plugging any holes between the C++ and C interfaces.

Assertions:

       is_valid()

Copyright (c) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson |