Toggle navigation
libopenraw
Main
Projects
libopenraw
Exempi
Raw Thumbnailer
File Formats
All
Canon CR2
Canon CR3
Canon CRW
Fujfilm
Nikon
Olympus
Panasonic
Pentax
Blog
Development
libopenraw
0.3.7
lib
bititerator.hpp
1
/* -*- tab-width:4; c-basic-offset:4 -*- */
2
/*
3
* libopenraw - bititerator.cpp
4
*
5
* Copyright (C) 2008 Rafael Avila de Espindola.
6
*
7
* This library is free software: you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public License
9
* as published by the Free Software Foundation, either version 3 of
10
* the License, or (at your option) any later version.
11
*
12
* This library is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with this library. If not, see
19
* <http://www.gnu.org/licenses/>.
20
*/
21
22
#pragma once
23
24
#include <stdint.h>
25
#include <stddef.h>
26
27
namespace
OpenRaw
{
28
namespace
Internals {
29
30
class
BitIterator
{
31
private
:
32
const
uint8_t* m_p;
33
size_t
m_size;
34
35
uint32_t m_bitBuffer;
36
size_t
m_bitsOnBuffer;
37
void
load(
size_t
numBits);
38
void
addByte(uint8_t
byte
);
39
40
public
:
41
BitIterator
(
const
uint8_t *p,
size_t
s);
42
uint32_t get(
size_t
);
43
uint32_t peek(
size_t
);
44
void
skip(
size_t
);
45
};
46
47
}
48
}
OpenRaw::Internals::BitIterator
Definition:
bititerator.hpp:30
OpenRaw
Global namespace for libopenraw.
Definition:
arwfile.cpp:29