LLVM
4.0.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
llvm.src
include
llvm
Support
Compression.h
Go to the documentation of this file.
1
//===-- llvm/Support/Compression.h ---Compression----------------*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file contains basic functions for compression/uncompression.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_SUPPORT_COMPRESSION_H
15
#define LLVM_SUPPORT_COMPRESSION_H
16
17
#include "llvm/Support/DataTypes.h"
18
19
namespace
llvm {
20
template
<
typename
T>
class
SmallVectorImpl;
21
class
StringRef;
22
23
namespace
zlib {
24
25
enum
CompressionLevel
{
26
NoCompression
,
27
DefaultCompression
,
28
BestSpeedCompression
,
29
BestSizeCompression
30
};
31
32
enum
Status
{
33
StatusOK
,
34
StatusUnsupported
,
// zlib is unavailable
35
StatusOutOfMemory
,
// there was not enough memory
36
StatusBufferTooShort
,
// there was not enough room in the output buffer
37
StatusInvalidArg
,
// invalid input parameter
38
StatusInvalidData
// data was corrupted or incomplete
39
};
40
41
bool
isAvailable
();
42
43
Status
compress
(
StringRef
InputBuffer,
SmallVectorImpl<char>
&CompressedBuffer,
44
CompressionLevel
Level
=
DefaultCompression
);
45
46
Status
uncompress
(
StringRef
InputBuffer,
char
*UncompressedBuffer,
47
size_t
&UncompressedSize);
48
49
Status
uncompress
(
StringRef
InputBuffer,
50
SmallVectorImpl<char>
&UncompressedBuffer,
51
size_t
UncompressedSize);
52
53
uint32_t
crc32
(
StringRef
Buffer);
54
55
}
// End of namespace zlib
56
57
}
// End of namespace llvm
58
59
#endif
60
llvm::zlib::StatusOutOfMemory
Definition:
Compression.h:35
llvm::zlib::CompressionLevel
CompressionLevel
Definition:
Compression.h:25
llvm::PICLevel::Level
Level
Definition:
CodeGen.h:33
llvm::SmallVectorImpl< char >
llvm::zlib::compress
Status compress(StringRef InputBuffer, SmallVectorImpl< char > &CompressedBuffer, CompressionLevel Level=DefaultCompression)
Definition:
Compression.cpp:49
llvm::zlib::StatusUnsupported
Definition:
Compression.h:34
llvm::zlib::BestSizeCompression
Definition:
Compression.h:29
llvm::zlib::Status
Status
Definition:
Compression.h:32
llvm::zlib::uncompress
Status uncompress(StringRef InputBuffer, char *UncompressedBuffer, size_t &UncompressedSize)
Definition:
Compression.cpp:65
llvm::zlib::NoCompression
Definition:
Compression.h:26
llvm::zlib::isAvailable
bool isAvailable()
Definition:
Compression.cpp:48
llvm::zlib::StatusInvalidArg
Definition:
Compression.h:37
llvm::zlib::DefaultCompression
Definition:
Compression.h:27
llvm::zlib::StatusBufferTooShort
Definition:
Compression.h:36
uint32_t
llvm::zlib::crc32
uint32_t crc32(StringRef Buffer)
Definition:
Compression.cpp:86
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition:
StringRef.h:47
llvm::zlib::BestSpeedCompression
Definition:
Compression.h:28
llvm::zlib::StatusOK
Definition:
Compression.h:33
llvm::zlib::StatusInvalidData
Definition:
Compression.h:38
Generated on Wed Mar 8 2017 17:07:16 for LLVM by
1.8.6