<
classDstIter,
classSrcCont>
40 constSrcCont& srcCont,
size_tsrcPos)
42 typenameSrcCont::const_iterator src = srcCont.begin() + srcPos;
43 for( DstIter end(dst +
count); dst != end; ++dst ) {
44 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
52 template<
classDstIter,
classSrcCont>
55 constSrcCont& srcCont,
size_tsrcPos,
58 typenameSrcCont::const_iterator src = srcCont.begin() + srcPos;
59 for( DstIter end(dst +
count); dst != end; ++dst ) {
60 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
63*dst =
table[c & 0xff];
68 template<
classDstIter,
classSrcCont>
71 constSrcCont& srcCont,
size_tsrcPos)
74 typenameSrcCont::const_iterator src = srcCont.begin() + srcPos;
75 for( DstIter end(dst +
count); dst != end; ++dst ) {
76 _ASSERT(src > srcCont.begin() && src <= srcCont.end());
83 template<
classDstIter,
classSrcCont>
86 constSrcCont& srcCont,
size_tsrcPos,
90 typenameSrcCont::const_iterator src = srcCont.begin() + srcPos;
91 for( DstIter end(dst +
count); dst != end; ++dst ) {
92 _ASSERT(src > srcCont.begin() && src <= srcCont.end());
94*dst =
table[c & 0xff];
99 template<
classDstIter,
classSrcCont>
101 constSrcCont& srcCont,
size_tsrcPos)
103 typenameSrcCont::const_iterator src = srcCont.begin() + srcPos / 2;
106 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
113 for( DstIter end(dst + (
count& ~1)); dst != end; dst += 2 ) {
114 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
117*dst = (c >> 4) & 0x0f;
118dst[1] = (c ) & 0x0f;
122 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
124*dst = (c >> 4) & 0x0f;
129 template<
classDstIter,
classSrcCont>
131 constSrcCont& srcCont,
size_tsrcPos,
134 typenameSrcCont::const_iterator src = srcCont.begin() + srcPos / 2;
137 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
140*dst =
table[(c ) & 0x0f];
144 for( DstIter end(dst + (
count& ~1)); dst != end; dst += 2 ) {
145 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
148*dst =
table[(c >> 4) & 0x0f];
149dst[1] =
table[(c ) & 0x0f];
153 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
155*dst =
table[(c >> 4) & 0x0f];
160 template<
classDstIter,
classSrcCont>
162 constSrcCont& srcCont,
size_tsrcPos)
165 typenameSrcCont::const_iterator src = srcCont.begin() + srcPos / 2;
168 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
170*dst = (c >> 4) & 0x0f;
174 for( DstIter end(dst + (
count& ~1)); dst != end; dst += 2 ) {
175 _ASSERT(src > srcCont.begin() && src <= srcCont.end());
178dst[1] = (c >> 4) & 0x0f;
182 _ASSERT(src > srcCont.begin() && src <= srcCont.end());
189 template<
classDstIter,
classSrcCont>
191 constSrcCont& srcCont,
size_tsrcPos,
195 typenameSrcCont::const_iterator src = srcCont.begin() + srcPos / 2;
198 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
200*dst =
table[(c >> 4) & 0x0f];
204 for( DstIter end(dst + (
count& ~1)); dst != end; dst += 2 ) {
205 _ASSERT(src > srcCont.begin() && src <= srcCont.end());
207*dst =
table[(c ) & 0x0f];
208dst[1] =
table[(c >> 4) & 0x0f];
212 _ASSERT(src > srcCont.begin() && src <= srcCont.end());
214*dst =
table[(c ) & 0x0f];
219 template<
classDstIter,
classSrcCont>
221 constSrcCont& srcCont,
size_tsrcPos)
223 typenameSrcCont::const_iterator src = srcCont.begin() + srcPos / 4;
224 size_tfirst_byte_pos = srcPos % 4;
225 if( first_byte_pos ) {
227 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
230 if( first_byte_pos <= 1 ) {
231*dst = (c >> 4) & 0x03;
232 if( --
count== 0 )
return;
235 if( first_byte_pos <= 2 ) {
236*dst = (c >> 2) & 0x03;
237 if( --
count== 0 )
return;
244 for( DstIter end = dst + (
count& ~3); dst != end; dst += 4 ) {
245 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
248 charc0 = char(c3 >> 6);
249 charc1 = char(c3 >> 4);
250 charc2 = char(c3 >> 2);
261 size_tlast_byte_count =
count% 4;
262 if( last_byte_count ) {
263 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
265*dst = (c >> 6) & 0x03;
266 if( last_byte_count >= 2 ) {
267dst[1] = (c >> 4) & 0x03;
268 if( last_byte_count >= 3 ) {
269dst[2] = (c >> 2) & 0x03;
276 template<
classDstIter,
classSrcCont>
278 constSrcCont& srcCont,
size_tsrcPos,
281 typenameSrcCont::const_iterator src = srcCont.begin() + srcPos / 4;
282 size_tfirst_byte_pos = srcPos % 4;
283 if( first_byte_pos ) {
285 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
288 if( first_byte_pos <= 1 ) {
289*dst =
table[(c >> 4) & 0x03];
290 if( --
count== 0 )
return;
293 if( first_byte_pos <= 2 ) {
294*dst =
table[(c >> 2) & 0x03];
295 if( --
count== 0 )
return;
298*dst =
table[(c ) & 0x03];
302 for( DstIter end = dst + (
count& ~3); dst != end; dst += 4 ) {
303 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
306 charc0 = char(c3 >> 6);
307 charc1 = char(c3 >> 4);
308 charc2 = char(c3 >> 2);
309c0 =
table[c0 & 0x03];
310c1 =
table[c1 & 0x03];
312c2 =
table[c2 & 0x03];
314c3 =
table[c3 & 0x03];
319 size_tlast_byte_count =
count% 4;
320 if( last_byte_count ) {
321 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
323*dst =
table[(c >> 6) & 0x03];
324 if( last_byte_count >= 2 ) {
325dst[1] =
table[(c >> 4) & 0x03];
326 if( last_byte_count >= 3 ) {
327dst[2] =
table[(c >> 2) & 0x03];
334 template<
classDstIter,
classSrcCont>
336 constSrcCont& srcCont,
size_tsrcPos)
339 typenameSrcCont::const_iterator src = srcCont.begin() + srcPos / 4;
340 size_tfirst_byte_pos = srcPos % 4;
341 if( first_byte_pos ) {
343 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
345 if( first_byte_pos >= 3 ) {
346*dst = (c >> 2) & 0x03;
347 if( --
count== 0 )
return;
350 if( first_byte_pos >= 2 ) {
351*dst = (c >> 3) & 0x03;
352 if( --
count== 0 )
return;
355*dst = (c >> 6) & 0x03;
359 for( DstIter end = dst + (
count& ~3); dst != end; dst += 4 ) {
360 _ASSERT(src > srcCont.begin() && src <= srcCont.end());
362 charc1 = char(c0 >> 2);
363 charc2 = char(c0 >> 4);
364 charc3 = char(c0 >> 6);
375 size_tlast_byte_count =
count% 4;
376 if( last_byte_count ) {
377 _ASSERT(src > srcCont.begin() && src <= srcCont.end());
380 if( last_byte_count >= 2 ) {
381dst[1] = (c >> 2) & 0x03;
382 if( last_byte_count >= 3 ) {
383dst[2] = (c >> 4) & 0x03;
390 template<
classDstIter,
classSrcCont>
392 constSrcCont& srcCont,
size_tsrcPos,
396 typenameSrcCont::const_iterator src = srcCont.begin() + srcPos / 4;
397 size_tfirst_byte_pos = srcPos % 4;
398 if( first_byte_pos ) {
400 _ASSERT(src >= srcCont.begin() && src < srcCont.end());
402 if( first_byte_pos >= 3 ) {
403*dst =
table[(c >> 2) & 0x03];
404 if( --
count== 0 )
return;
407 if( first_byte_pos >= 2 ) {
408*dst =
table[(c >> 4) & 0x03];
409 if( --
count== 0 )
return;
412*dst =
table[(c >> 6) & 0x03];
416 for( DstIter end = dst + (
count& ~3); dst != end; dst += 4 ) {
417 _ASSERT(src > srcCont.begin() && src <= srcCont.end());
419 charc1 = char(c0 >> 2);
420 charc2 = char(c0 >> 4);
421 charc3 = char(c0 >> 6);
422c0 =
table[c0 & 0x03];
423c1 =
table[c1 & 0x03];
425c2 =
table[c2 & 0x03];
427c3 =
table[c3 & 0x03];
432 size_tlast_byte_count =
count% 4;
433 if( last_byte_count ) {
434 _ASSERT(src > srcCont.begin() && src <= srcCont.end());
436*dst =
table[(c ) & 0x03];
437 if( last_byte_count >= 2 ) {
438dst[1] =
table[(c >> 2) & 0x03];
439 if( last_byte_count >= 3 ) {
440dst[2] =
table[(c >> 4) & 0x03];
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
<!DOCTYPE HTML >< html > n< header > n< title > PubSeq Gateway Help Page</title > n< style > n table
void copy_4bit(DstIter dst, size_t count, const SrcCont &srcCont, size_t srcPos)
void copy_2bit_reverse(DstIter dst, size_t count, const SrcCont &srcCont, size_t srcPos)
void copy_4bit_table(DstIter dst, size_t count, const SrcCont &srcCont, size_t srcPos, const char *table)
void copy_2bit_table(DstIter dst, size_t count, const SrcCont &srcCont, size_t srcPos, const char *table)
void copy_8bit_reverse(DstIter dst, size_t count, const SrcCont &srcCont, size_t srcPos)
void copy_8bit_table(DstIter dst, size_t count, const SrcCont &srcCont, size_t srcPos, const char *table)
void copy_2bit_table_reverse(DstIter dst, size_t count, const SrcCont &srcCont, size_t srcPos, const char *table)
void copy_4bit_reverse(DstIter dst, size_t count, const SrcCont &srcCont, size_t srcPos)
void copy_4bit_table_reverse(DstIter dst, size_t count, const SrcCont &srcCont, size_t srcPos, const char *table)
void copy_8bit_table_reverse(DstIter dst, size_t count, const SrcCont &srcCont, size_t srcPos, const char *table)
void copy_2bit(DstIter dst, size_t count, const SrcCont &srcCont, size_t srcPos)
void copy_8bit(DstIter dst, size_t count, const SrcCont &srcCont, size_t srcPos)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4