2
#include "FileIOException.h"
4
RawSpeed - RAW file decoder.
6
Copyright (C) 2009 Klaus Post
8
This library is free software; you can redistribute it and/or
9
modify it under the terms of the GNU Lesser General Public
10
License as published by the Free Software Foundation; either
11
version 2 of the License, or (at your option) any later version.
13
This library is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
Lesser General Public License for more details.
18
You should have received a copy of the GNU Lesser General Public
19
License along with this library; if not, write to the Free Software
20
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
http://www.klauspost.com
25
#include "IOException.h"
29
/*************************************************************************
30
* This is the basic file map
32
* It allows access to a file.
33
* Base implementation is for a complete file that is already in memory.
34
* This can also be done as a MemMap
36
*****************************/
40
FileMap(uint32 _size); // Allocates the data array itself
41
FileMap(uchar8* _data, uint32 _size); // Data already allocated.
43
const uchar8* getData(uint32 offset);
44
uchar8* getDataWrt(uint32 offset) {return &data[offset];}
45
uint32 getSize() {return size;}
46
bool isValid(uint32 offset) {return offset<=size;}
48
/* For testing purposes */
49
void corrupt(int errors);
50
FileMap* cloneRandomSize();
57
} // namespace RawSpeed