本文整理汇总了C++中libmaus::autoarray::AutoArray::end方法的典型用法代码示例。如果您正苦于以下问题:C++ AutoArray::end方法的具体用法?C++ AutoArray::end怎么用?C++ AutoArray::end使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类libmaus::autoarray::AutoArray
的用法示例。
在下文中一共展示了AutoArray::end方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: init
void init(bool const repos)
{
// set empty buffer
setg(buffer.end(), buffer.end(), buffer.end());
// seek
if ( repos )
stream->seek(symsread,SEEK_SET);
}
示例2: init
void init(bool const repos)
{
// set empty buffer
setg(buffer.end(), buffer.end(), buffer.end());
// seek
if ( repos )
stream.lseek(symsread);
}
示例3: nm
MdStringComputationContext()
: T0(256,false), T1(256,false), nm(0)
{
std::fill(T0.begin(),T0.end(),4);
std::fill(T1.begin(),T1.end(),5);
T0['A'] = T0['a'] = T1['A'] = T1['a'] = 0;
T0['C'] = T0['c'] = T1['C'] = T1['c'] = 1;
T0['G'] = T0['g'] = T1['G'] = T1['g'] = 2;
T0['T'] = T0['t'] = T1['T'] = T1['t'] = 3;
auxvec.set("MD");
auxvec.set("NM");
}
示例4: fd
LinuxStreamingPosixFdOutputStreamBuffer(std::string const & fn, int64_t const rbuffersize)
: fd(doOpen(fn)), closefd(true),
optblocksize((rbuffersize < 0) ? getOptimalIOBlockSize(fd,std::string()) : rbuffersize),
buffersize(optblocksize),
buffer(buffersize,false), prevwrite(0,0)
{
setp(buffer.begin(),buffer.end()-1);
}
示例5: B
BgzfParallelRecodeDeflateBase()
: B(getBgzfMaxBlockSize(),false),
pa(B.begin()),
pc(B.begin()),
pe(B.end())
{
}
示例6: blocksize
GammaRLEncoder(std::string const & filename, unsigned int const ralbits, uint64_t const n, uint64_t const rblocksize, uint64_t const rbufsize = 64*1024)
:
blocksize(rblocksize),
COS(filename), SGO(COS,rbufsize), GE(SGO),
A(blocksize), pa(A.begin()), pc(pa), pe(A.end()),
cursym(0), curcnt(0), indexwritten(false), albits(ralbits)
{
SGO.put(n);
SGO.put(albits);
}
示例7: get
element_type * get()
{
if ( ! freelistfill )
{
// allocate more alignment objects
libmaus::autoarray::AutoArray<element_type *> nalloclist(
std::max(
static_cast<uint64_t>(1),
static_cast<uint64_t>(2*alloclist.size())
)
,false
);
std::copy(alloclist.begin(),alloclist.end(),nalloclist.begin());
element_type * nullp = 0;
std::fill(nalloclist.begin()+alloclist.size(),nalloclist.end(),nullp);
for ( element_type ** p = nalloclist.begin()+alloclist.size();
p != nalloclist.end(); ++p )
*p = new element_type;
libmaus::autoarray::AutoArray<element_type *> nfreelist(
std::max(
static_cast<uint64_t>(1),
static_cast<uint64_t>(2*freelist.size())
)
,false
);
std::copy(freelist.begin(),freelist.end(),nfreelist.begin());
std::fill(nfreelist.begin()+freelist.size(),nfreelist.end(),nullp);
freelist = nfreelist;
for ( element_type ** p = nalloclist.begin()+alloclist.size();
p != nalloclist.end(); ++p )
freelist[freelistfill++] = *p;
alloclist = nalloclist;
}
return freelist[--freelistfill];
}
示例8: put
void put(libmaus::fastx::FastQReader::pattern_type const & pattern)
{
uint64_t const patlen = getFastQLength(pattern);
while ( (C.end() - pc) < static_cast<ptrdiff_t>(patlen) )
{
uint64_t const off = pc-C.begin();
uint64_t const newclen = std::max(2*C.size(),static_cast<uint64_t>(1ull));
C.resize(newclen);
pc = C.begin()+off;
}
*(pc)++ = '@';
std::copy(pattern.sid.begin(),pattern.sid.end(),pc);
pc += pattern.sid.size();
*(pc++) = '\n';
std::copy(pattern.spattern.begin(), pattern.spattern.end(),pc);
pc += pattern.spattern.size();
*(pc++) = '\n';
*(pc)++ = '+';
std::copy(pattern.plus.begin(), pattern.plus.end(),pc);
pc += pattern.plus.size();
*(pc++) = '\n';
std::copy(pattern.quality.begin(), pattern.quality.end(),pc);
pc += pattern.quality.size();
*(pc++) = '\n';
assert ( pc <= C.end() );
lnumsyms += pattern.spattern.size();
minlen = std::min(minlen,static_cast<uint64_t>(pattern.spattern.size()));
maxlen = std::max(maxlen,static_cast<uint64_t>(pattern.spattern.size()));
pathigh++;
if ( pathigh - patlow == patperblock )
internalFlush();
}
示例9: checkSpace
void checkSpace(uint64_t const outlen)
{
// buffer overflow?
if ( freeSpace() < outlen )
{
flush();
assert ( opc == opa );
if ( outlen > outbuf.size() )
{
::libmaus::autoarray::AutoArray<uint8_t> newbuf(outlen);
std::copy( outbuf.begin(), outbuf.end(), newbuf.begin() );
outbuf = newbuf;
opa = outbuf.begin();
opc = opa;
ope = outbuf.end();
}
}
assert ( freeSpace() >= outlen );
}
示例10: C
ConstantStringHash(iterator ita, iterator ite, uint64_t const maxn = 64*1024)
{
k = 0;
n = (1 << k);
m = 0;
bool ok = false;
for ( ; (! ok) && n <= maxn; ++k, n <<= 1, m = (m << 1)|1 )
{
libmaus::autoarray::AutoArray<uint64_t> C(n);
for ( iterator it = ita; it != ite; ++it )
C [ it->hash() & m ] ++;
ok = true;
for ( uint64_t i = 0; i < n; ++i )
ok = ok && C[i] <= 1;
}
if ( ! ok )
{
libmaus::exception::LibMausException se;
se.getStream() << "Cannot create perfect hash of size <= " << maxn << " for " << ite-ita << " elements" << std::endl;
se.finish();
throw se;
}
H = libmaus::autoarray::AutoArray<int64_t>(n);
std::fill(H.begin(),H.end(),-1);
for ( iterator it = ita; it != ite; ++it )
H [ it->hash() & m ] = it-ita;
for ( iterator it = ita; it != ite; ++it )
assert ( H [ it->hash() & m ] == it-ita );
}
示例11: resize
void resize(uint64_t const tracelen)
{
trace = ::libmaus::autoarray::AutoArray<step_type>(tracelen,false);
te = trace.end();
ta = te;
}
示例12: trace
AlignmentTraceContainer(uint64_t const tracelen = 0)
: trace(tracelen), te(trace.end()), ta(te)
{
}
示例13: getBgzfMaxBlockSize
BgzfDeflateInputBufferBase(uint64_t const bufsize = getBgzfMaxBlockSize()) : inbuf(bufsize,false), pa(inbuf.begin()), pc(pa), pe(inbuf.end())
{
assert ( bufsize <= getBgzfMaxBlockSize() );
}
示例14: outbuf
OutputBuffer(uint64_t bufsize, std::ostream & rout)
: outbuf(bufsize,false), opa(outbuf.begin()), opc(opa), ope(outbuf.end()), out(rout), written(0), ST()
{}
示例15: M
ConsensusAux() : M(256), C(256)
{
std::fill(M.begin(),M.end(),1);
std::fill(C.begin(),C.end(),0);
}