51 Uint1 arg_window_size,
52 Uint4 arg_window_step,
57 unit_size( arg_unit_size ), unit_step( arg_unit_step ),
58 window_size( arg_window_size ), window_step( arg_window_step ),
59 end( 0 ), first_unit( 0 ), unit_mask( 0 ), winend( arg_winend )
61 static bool first_call =
true;
120 if( ++last_unit == num_units ) last_unit = 0;
122 units[last_unit] = unit;
127 if( iter != step )
state =
false;
Uint1 window_size
The window size.
static Uint1 LOOKUP[]
Table used to translate bases from iupacna to ncbi2na format.
virtual ~CSeqMaskerWindow()
Object destructor.
TUnits units
The array of units.
virtual void Advance(Uint4 step)
Slide the window by the given number of bases.
TUnits::size_type first_unit
The position in the array of units of the first unit of the current window.
Uint1 unit_step
The distance between consequtive units within a window.
Uint4 start
The start of the current window.
void FillWindow(Uint4 winstart)
Uint1 NumUnits() const
Get the number of units in a window.
Uint4 TUnit
Integer type used to represent units within a window.
const objects::CSeqVector & data
The sequence data in iupacna format.
Uint1 unit_size
The unit size.
Uint4 winend
Final position in the sequence.
CSeqMaskerWindow(const objects::CSeqVector &arg_data, Uint1 arg_unit_size, Uint1 arg_window_size, Uint4 window_step, Uint1 unit_step=1, Uint4 winstart=0, Uint4 winend=0)
Object constructor.
Uint4 end
The end if the current window.
TUnit unit_mask
The mask to use when accessing the integer value of a unit.
uint8_t Uint1
1-byte (8-bit) unsigned integer
int32_t Int4
4-byte (32-bit) signed integer
uint32_t Uint4
4-byte (32-bit) unsigned integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static Uint4 letter(char c)