29 #ifndef _ID3LIB_FRAME_IMPL_H_
30 #define _ID3LIB_FRAME_IMPL_H_
34 #include "id3/id3lib_bitset"
38 #include "id3/id3lib_frame.h"
43 typedef std::bitset<ID3FN_LASTFIELDID> Bitset;
44 typedef std::vector<ID3_Field *> Fields;
76 {
return _bitset.test(fld); }
99 bool changed =
id != _encryption_id;
101 _changed = _changed || changed;
108 bool changed =
id != _grouping_id;
110 _changed = _changed || changed;
129 mutable bool _changed;
133 uchar _encryption_id;
The representative class of an ID3v2 field.
The representative class of an id3v2 frame.
const_iterator begin() const
size_t GetDataSize() const
ID3_FrameID GetID() const
bool SetGroupingID(uchar id)
uchar GetGroupingID() const
bool GetCompression() const
Returns whether or not the compression flag is set.
uchar GetEncryptionID() const
ID3_FrameImpl(ID3_FrameID id=ID3FID_NOFRAME)
const char * GetTextID() const
ID3_V2Spec GetSpec() const
bool SetCompression(bool b)
Sets the compression flag within the frame.
Fields::iterator iterator
void Render(ID3_Writer &) const
bool SetEncryptionID(uchar id)
ID3_Field * GetField(ID3_FieldID name) const
const char * GetDescription() const
virtual ~ID3_FrameImpl()
Destructor.
Fields::const_iterator const_iterator
ID3_FrameImpl & operator=(const ID3_Frame &)
bool Contains(ID3_FieldID fld) const
const_iterator end() const
bool SetID(ID3_FrameID id)
ID3_FieldID
Enumeration of the different types of fields in a frame.
ID3_FrameID
Enumeration of the different types of frames recognized by id3lib.
@ ID3FID_NOFRAME
No known frame.