A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/resize__iter_8hpp_source.html below:

NCBI C++ ToolKit: include/util/resize_iter.hpp Source File

1 #ifndef RESIZE_ITER__HPP 2 #define RESIZE_ITER__HPP 53 template

<

class

TSeq,

class

TOut =

int

>

101 template

<

class

TSeq,

class

TVal =

int

>

131  bool AtEnd

()

const

;

161 template

<

class

TIterator>

168 template

<

class

TIterator,

class

TOut>

170  size_t

& bit_offset,

size_t

bit_count)

174  const

TOut kMask = (1 << bit_count) - 1;

175  static const

TOut kMask2 = (1 << kBitsPerElement) - 1;

180

}

else if

(bit_offset + bit_count <= kBitsPerElement) {

182

bit_offset += bit_count;

183  value

= (*start >> (kBitsPerElement - bit_offset)) & kMask;

184  if

(bit_offset == kBitsPerElement) {

190  value

= *start & ((1 << (kBitsPerElement - bit_offset)) - 1);

192  for

(bit_offset += bit_count - kBitsPerElement;

193

bit_offset >= kBitsPerElement;

194

bit_offset -= kBitsPerElement) {

195  value

<<= kBitsPerElement;

197  value

|= *start & kMask2;

202  value

<<= bit_offset;

204  value

|= ((*start >> (kBitsPerElement - bit_offset))

205

& ((1 << bit_offset) - 1));

213 template

<

class

TIterator,

class

TVal,

class

TElement>

215  size_t

& bit_offset,

size_t

bit_count,

216

TElement partial, TVal

data

)

218  static const size_t

kBitsPerElement =

CHAR_BIT

*

sizeof

(TElement);

221

partial = (TElement)(partial &

222

(~(TElement)0) << (kBitsPerElement - bit_offset));

227  if

(bit_offset + bit_count <= kBitsPerElement) {

229

bit_offset += bit_count;

230

partial = (TElement)(partial |

231

(

data

<< (kBitsPerElement - bit_offset)));

232  if

(bit_count == kBitsPerElement) {

233

*(start++) = partial;

239

*(start++) = (TElement)(partial |

240

((

data

>> (bit_count + bit_offset - kBitsPerElement))

241

& ((1 << (kBitsPerElement - bit_offset)) - 1)) );

242  for

(bit_offset += bit_count - kBitsPerElement;

243

bit_offset >= kBitsPerElement;

244

bit_offset -= kBitsPerElement) {

246

*(start++) = (TElement)(

data

>> (bit_offset - kBitsPerElement));

250

partial = (TElement)(

data

<< (kBitsPerElement - bit_offset));

262 template

<

class

TSeq,

class

TOut>

271  for

(m_BitOffset += m_NewSize;

272

m_BitOffset >= kBitsPerElement && m_RawIterator != m_End;

273

m_BitOffset -= kBitsPerElement) {

277

m_ValueKnown =

false

;

282 template

<

class

TSeq,

class

TOut>

292 template

<

class

TSeq,

class

TOut>

298

m_ValueKnown =

true

;

299  return

m_Value = ExtractBits<TRawIterator, TOut>

300

(m_RawIterator, m_End, m_BitOffset, m_NewSize);

305 template

<

class

TSeq,

class

TOut>

308  size_t

avail = 0, goal = m_BitOffset + m_NewSize;

309  for

(

TRawIterator

it2 = m_RawIterator; it2 != m_End && avail < goal;

320 template

<

class

TSeq,

class

TVal>

326  for

(m_BitOffset += m_NewSize;

327

m_BitOffset >= kBitsPerElement && m_RawIterator != m_End;

328

m_BitOffset -= kBitsPerElement) {

335 template

<

class

TSeq,

class

TVal>

345 template

<

class

TSeq,

class

TVal>

350  size_t offset

= m_BitOffset;

353  tmp

= StoreBits<TRawIterator, TVal, TRawValue>

355  if

(

offset

> 0 && it != m_End) {

361 template

<

class

TSeq,

class

TVal>

366  size_t offset

= m_BitOffset;

368  return

ExtractBits<TRawIterator, TVal>(it, m_End,

offset

, m_NewSize);

372 template

<

class

TSeq,

class

TVal>

375  size_t

avail = 0, goal = m_BitOffset + m_NewSize;

376  for

(

TRawIterator

it2 = m_RawIterator; it2 != m_End && avail < goal;

Include a standard set of the NCBI C++ Toolkit most basic headers.

CResizingIterator(TSeq &s, size_t new_size)

TElement StoreBits(TIterator &start, const TIterator &end, size_t &bit_offset, size_t bit_count, TElement partial, TVal data)

size_t xx_BitsPerElement(const T *)

TSeq::const_iterator TRawIterator

size_t x_BitsPerElement(const TIterator &)

TOut ExtractBits(TIterator &start, const TIterator &end, size_t &bit_offset, size_t bit_count)

forward_iterator_tag iterator_category

TRawIterator m_RawIterator

TSeq::value_type TRawValue

void operator=(TVal value)

CConstResizingIterator(const TSeq &s, size_t new_size)

CConstResizingIterator(const TRawIterator &it, const TRawIterator &end, size_t new_size)

TRawIterator m_RawIterator

TSeq::value_type TRawValue

CResizingIterator< TSeq, TVal > & operator++()

CResizingIterator(const TRawIterator &start, const TRawIterator &end, size_t new_size)

CConstResizingIterator< TSeq, TOut > & operator++()

input_iterator_tag iterator_category

TSeq::iterator TRawIterator

CResizingIterator< TSeq, TVal > operator*()

#define END_NCBI_SCOPE

End previously defined NCBI scope.

#define BEGIN_NCBI_SCOPE

Define ncbi namespace.

vector< CSeq_align const * >::const_iterator TIterator

double value_type

The numeric datatype used by the parser.

const GenericPointer< typename T::ValueType > T2 value

void copy(Njn::Matrix< S > *matrix_, const Njn::Matrix< T > &matrix0_)


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