Source code
Revision control
Copy as Markdown
Other Tools
// 7zCompressionMode.h↩
↩
#ifndef __7Z_COMPRESSION_MODE_H↩
#define __7Z_COMPRESSION_MODE_H↩
↩
#include "../../Common/MethodId.h"↩
#include "../../Common/MethodProps.h"↩
↩
namespace NArchive {↩
namespace N7z {↩
↩
struct CMethodFull: public CMethodProps↩
{↩
CMethodId Id;↩
UInt32 NumStreams;↩
int CodecIndex;↩
↩
CMethodFull(): CodecIndex(-1) {}↩
bool IsSimpleCoder() const { return NumStreams == 1; }↩
};↩
↩
struct CBond2↩
{↩
UInt32 OutCoder;↩
UInt32 OutStream;↩
UInt32 InCoder;↩
};↩
↩
struct CCompressionMethodMode↩
{↩
/*↩
if (Bonds.Empty()), then default bonds must be created↩
if (Filter_was_Inserted)↩
{↩
Methods[0] is filter method↩
Bonds don't contain bonds for filter (these bonds must be created)↩
}↩
*/↩
↩
CObjectVector<CMethodFull> Methods;↩
CRecordVector<CBond2> Bonds;↩
↩
bool IsThereBond_to_Coder(unsigned coderIndex) const↩
{↩
FOR_VECTOR(i, Bonds)↩
if (Bonds[i].InCoder == coderIndex)↩
return true;↩
return false;↩
}↩
↩
bool DefaultMethod_was_Inserted;↩
bool Filter_was_Inserted;↩
↩
#ifndef _7ZIP_ST↩
UInt32 NumThreads;↩
bool MultiThreadMixer;↩
#endif↩
↩
bool PasswordIsDefined;↩
UString Password;↩
↩
bool IsEmpty() const { return (Methods.IsEmpty() && !PasswordIsDefined); }↩
CCompressionMethodMode():↩
DefaultMethod_was_Inserted(false),↩
Filter_was_Inserted(false),↩
PasswordIsDefined(false)↩
#ifndef _7ZIP_ST↩
, NumThreads(1)↩
, MultiThreadMixer(true)↩
#endif↩
{}↩
};↩
↩
}}↩
↩
#endif↩