29 #ifndef _ID3LIB_FRAME_IMPL_H_
30 #define _ID3LIB_FRAME_IMPL_H_
34 #include "id3/id3lib_bitset"
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;
116 iterator
begin() {
return _fields.begin(); }
117 iterator
end() {
return _fields.end(); }
118 const_iterator
begin()
const {
return _fields.begin(); }
119 const_iterator
end()
const {
return _fields.end(); }
129 mutable bool _changed;
133 uchar _encryption_id;
bool GetCompression() const
Returns whether or not the compression flag is set.
uchar GetGroupingID() const
uchar GetEncryptionID() const
const_iterator begin() const
const char * GetTextID() const
Fields::iterator iterator
size_t GetDataSize() const
bool SetEncryptionID(uchar id)
ID3_FrameID
Enumeration of the different types of frames recognized by id3lib.
virtual ~ID3_FrameImpl()
Destructor.
bool SetGroupingID(uchar id)
ID3_FrameImpl(ID3_FrameID id=ID3FID_NOFRAME)
bool SetID(ID3_FrameID id)
ID3_FrameID GetID() const
const_iterator end() const
The representative class of an id3v2 frame.
const char * GetDescription() const
Fields::const_iterator const_iterator
The representative class of an ID3v2 field.
bool SetCompression(bool b)
Sets the compression flag within the frame.
ID3_V2Spec GetSpec() const
bool Contains(ID3_FieldID fld) const
void Render(ID3_Writer &) const
ID3_FieldID
Enumeration of the different types of fields in a frame.
ID3_Field * GetField(ID3_FieldID name) const
ID3_FrameImpl & operator=(const ID3_Frame &)