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