本文整理汇总了C++中set_length函数的典型用法代码示例。如果您正苦于以下问题:C++ set_length函数的具体用法?C++ set_length怎么用?C++ set_length使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了set_length函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: set_max_slider_pos
void scroll_bar::
set_max_slider_pos (
long mpos
)
{
auto_mutex M(m);
max_pos = mpos;
if (pos > mpos)
pos = mpos;
if (ori == HORIZONTAL)
set_length(rect.width());
else
set_length(rect.height());
if (mpos != 0 && enabled)
{
b1.enable();
b2.enable();
}
else
{
b1.disable();
b2.disable();
}
}
开发者ID:exi,项目名称:gravisim,代码行数:27,代码来源:base_widgets.cpp
示例2: Elements
// ==============================================================================================================================================
// Radius vector will point in vernal equinox
//
void Orbit::CreateNewCircularOrbit(Orbit *plane, double rad)
{
double mu=plane->myy;
double vcir=sqrt(mu/rad);
VECTOR3 rv=plane->Position(0);
VECTOR3 vv=crossp(plane->norv,rv);
Elements(set_length(rv,rad),set_length(vv,vcir),mu,false);
}
开发者ID:ADSWNJ,项目名称:BaseSyncMFD,代码行数:11,代码来源:BSOrbit.cpp
示例3: Array_shift
/* ECMA-262 3rd Edition 15.4.4.9 */
static HRESULT Array_shift(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, unsigned argc, jsval_t *argv,
jsval_t *r)
{
jsdisp_t *jsthis;
DWORD length = 0, i;
jsval_t v, ret;
HRESULT hres;
TRACE("\n");
hres = get_length(ctx, vthis, &jsthis, &length);
if(FAILED(hres))
return hres;
if(!length) {
hres = set_length(jsthis, 0);
if(FAILED(hres))
return hres;
}
if(!length) {
if(r)
*r = jsval_undefined();
return S_OK;
}
hres = jsdisp_get_idx(jsthis, 0, &ret);
if(hres == DISP_E_UNKNOWNNAME) {
ret = jsval_undefined();
hres = S_OK;
}
for(i=1; SUCCEEDED(hres) && i<length; i++) {
hres = jsdisp_get_idx(jsthis, i, &v);
if(hres == DISP_E_UNKNOWNNAME)
hres = jsdisp_delete_idx(jsthis, i-1);
else if(SUCCEEDED(hres))
hres = jsdisp_propput_idx(jsthis, i-1, v);
}
if(SUCCEEDED(hres)) {
hres = jsdisp_delete_idx(jsthis, length-1);
if(SUCCEEDED(hres))
hres = set_length(jsthis, length-1);
}
if(FAILED(hres))
return hres;
if(r)
*r = ret;
else
jsval_release(ret);
return hres;
}
开发者ID:RPG-7,项目名称:reactos,代码行数:56,代码来源:array.c
示例4: Array_shift
/* ECMA-262 3rd Edition 15.4.4.9 */
static HRESULT Array_shift(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, DISPPARAMS *dp,
VARIANT *retv, jsexcept_t *ei)
{
jsdisp_t *jsthis;
DWORD length = 0, i;
VARIANT v, ret;
HRESULT hres;
TRACE("\n");
hres = get_length(ctx, vthis, ei, &jsthis, &length);
if(FAILED(hres))
return hres;
if(!length) {
hres = set_length(jsthis, ei, 0);
if(FAILED(hres))
return hres;
}
if(!length) {
if(retv)
V_VT(retv) = VT_EMPTY;
return S_OK;
}
hres = jsdisp_get_idx(jsthis, 0, &ret, ei);
if(hres == DISP_E_UNKNOWNNAME) {
V_VT(&ret) = VT_EMPTY;
hres = S_OK;
}
for(i=1; SUCCEEDED(hres) && i<length; i++) {
hres = jsdisp_get_idx(jsthis, i, &v, ei);
if(hres == DISP_E_UNKNOWNNAME)
hres = jsdisp_delete_idx(jsthis, i-1);
else if(SUCCEEDED(hres))
hres = jsdisp_propput_idx(jsthis, i-1, &v, ei);
}
if(SUCCEEDED(hres)) {
hres = jsdisp_delete_idx(jsthis, length-1);
if(SUCCEEDED(hres))
hres = set_length(jsthis, ei, length-1);
}
if(SUCCEEDED(hres) && retv)
*retv = ret;
else
VariantClear(&ret);
return hres;
}
开发者ID:AmesianX,项目名称:RosWine,代码行数:53,代码来源:array.c
示例5: Array_pop
static HRESULT Array_pop(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, DISPPARAMS *dp,
VARIANT *retv, jsexcept_t *ei)
{
jsdisp_t *jsthis;
VARIANT val;
DWORD length;
HRESULT hres;
TRACE("\n");
hres = get_length(ctx, vthis, ei, &jsthis, &length);
if(FAILED(hres))
return hres;
if(!length) {
hres = set_length(jsthis, ei, 0);
if(FAILED(hres))
return hres;
if(retv)
V_VT(retv) = VT_EMPTY;
return S_OK;
}
length--;
hres = jsdisp_get_idx(jsthis, length, &val, ei);
if(SUCCEEDED(hres)) {
hres = jsdisp_delete_idx(jsthis, length);
} else if(hres == DISP_E_UNKNOWNNAME) {
V_VT(&val) = VT_EMPTY;
hres = S_OK;
} else
return hres;
if(SUCCEEDED(hres))
hres = set_length(jsthis, ei, length);
if(FAILED(hres)) {
VariantClear(&val);
return hres;
}
if(retv)
*retv = val;
else
VariantClear(&val);
return S_OK;
}
开发者ID:AmesianX,项目名称:RosWine,代码行数:49,代码来源:array.c
示例6: Array_pop
static HRESULT Array_pop(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, unsigned argc, jsval_t *argv,
jsval_t *r)
{
jsdisp_t *jsthis;
jsval_t val;
DWORD length;
HRESULT hres;
TRACE("\n");
hres = get_length(ctx, vthis, &jsthis, &length);
if(FAILED(hres))
return hres;
if(!length) {
hres = set_length(jsthis, 0);
if(FAILED(hres))
return hres;
if(r)
*r = jsval_undefined();
return S_OK;
}
length--;
hres = jsdisp_get_idx(jsthis, length, &val);
if(SUCCEEDED(hres))
hres = jsdisp_delete_idx(jsthis, length);
else if(hres == DISP_E_UNKNOWNNAME) {
val = jsval_undefined();
hres = S_OK;
}else
return hres;
if(SUCCEEDED(hres))
hres = set_length(jsthis, length);
if(FAILED(hres)) {
jsval_release(val);
return hres;
}
if(r)
*r = val;
else
jsval_release(val);
return hres;
}
开发者ID:Moteesh,项目名称:reactos,代码行数:48,代码来源:array.c
示例7: Array_push
/* ECMA-262 3rd Edition 15.4.4.7 */
static HRESULT Array_push(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, DISPPARAMS *dp,
VARIANT *retv, jsexcept_t *ei)
{
jsdisp_t *jsthis;
DWORD length = 0;
int i, n;
HRESULT hres;
TRACE("\n");
hres = get_length(ctx, vthis, ei, &jsthis, &length);
if(FAILED(hres))
return hres;
n = arg_cnt(dp);
for(i=0; i < n; i++) {
hres = jsdisp_propput_idx(jsthis, length+i, get_arg(dp, i), ei);
if(FAILED(hres))
return hres;
}
hres = set_length(jsthis, ei, length+n);
if(FAILED(hres))
return hres;
if(retv) {
V_VT(retv) = VT_I4;
V_I4(retv) = length+n;
}
return S_OK;
}
开发者ID:AmesianX,项目名称:RosWine,代码行数:32,代码来源:array.c
示例8: split_block
/* Deze methode wijst length woorden toe aan een proces. De overgebleven
* woorden worden gezien als nieuw vrij blok. */
int split_block(long index, long length){
long blockleng = get_length(index);
long newidx = index + length + ADMIN_SIZE;
long newleng = blockleng - length - ADMIN_SIZE;
if(blockleng < length + ADMIN_SIZE + 1){
/* Geen ruimte voor een nieuw blok van minimaal 1 woord. */
return -1;
}
/* Maak het nieuwe blok. Plaats deze na 'length' woorden. */
new_block(newidx, newleng, index, get_next(index));
/* Als het huidige blok een volgende blok heeft moet de pointer van
* dat blok welke naar zijn vorige blok wijst naar het nieuwe blok
* gezet worden.*/
if(get_next(index) != 0){
set_prev(get_next(index), newidx);
}
/* Zet het volgende blok van het huidige blok naar het nieuwe blok. */
set_next(index, newidx);
/* Zet de length van het huidige blok en zet hem op toegewezen. */
set_length(index, length);
set_free(index, 0);
/* Verhoog het aantal loze woorden. */
mem[1] += ADMIN_SIZE;
/* Verhoog het aantal toegewezen woorden. */
mem[0] += length;
/* De index waar begonnen mag worden met schrijven is het blok index
* plus de lengte van de administratie. */
return index + ADMIN_SIZE;
}
开发者ID:TomPeerdeman,项目名称:OS2012,代码行数:37,代码来源:mem-func.c
示例9: info_remove_all
void file_info::reset()
{
info_remove_all();
meta_remove_all();
set_length(0);
reset_replaygain();
}
开发者ID:kazukioishi,项目名称:foo_nowplayingtunes,代码行数:7,代码来源:file_info.cpp
示例10: COMMON_token_import_cert
static CK_RV COMMON_token_import_cert(ykpiv_state *state, CK_ULONG cert_id, CK_BYTE_PTR in) {
unsigned char certdata[3072];
unsigned char *certptr;
CK_ULONG cert_len;
CK_RV rv;
// Check whether or not we have a valid cert
if ((rv = do_check_cert(in, &cert_len)) != CKR_OK)
return rv;
if (cert_len > 3072)
return CKR_FUNCTION_FAILED;
certptr = certdata;
*certptr++ = 0x70;
certptr += set_length(certptr, cert_len);
memcpy(certptr, in, cert_len);
certptr += cert_len;
*certptr++ = 0x71;
*certptr++ = 1;
*certptr++ = 0; /* certinfo (gzip etc) */
*certptr++ = 0xfe; /* LRC */
*certptr++ = 0;
// Store the certificate into the token
if (ykpiv_save_object(state, cert_id, certdata, (size_t)(certptr - certdata)) != YKPIV_OK)
return CKR_DEVICE_ERROR;
return CKR_OK;
}
开发者ID:digideskio,项目名称:yubico-piv-tool,代码行数:34,代码来源:token_vendors.c
示例11: Array_push
/* ECMA-262 3rd Edition 15.4.4.7 */
static HRESULT Array_push(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, unsigned argc, jsval_t *argv,
jsval_t *r)
{
jsdisp_t *jsthis;
DWORD length = 0;
unsigned i;
HRESULT hres;
TRACE("\n");
hres = get_length(ctx, vthis, &jsthis, &length);
if(FAILED(hres))
return hres;
for(i=0; i < argc; i++) {
hres = jsdisp_propput_idx(jsthis, length+i, argv[i]);
if(FAILED(hres))
return hres;
}
hres = set_length(jsthis, length+argc);
if(FAILED(hres))
return hres;
if(r)
*r = jsval_number(length+argc);
return S_OK;
}
开发者ID:RPG-7,项目名称:reactos,代码行数:29,代码来源:array.c
示例12: free_block
/* Deze methode zet het blok op index op vrij, indien mogelijk fuseert het
* met omringende vrije blokken. */
void free_block(long index){
long prev = get_prev(index);
long next = get_next(index);
if(!get_free(index)){
/* Zet het blok op vrij. */
set_free(index, 1);
mem[0] -= get_length(index);
}
/* Voeg vorige blok samen met het huidige als deze vrij is als een groot
* vrij blok. */
if(prev != 0 && get_free(prev)){
set_length(prev, get_length(prev) + get_length(index) + ADMIN_SIZE);
set_next(prev, next);
if(next != 0){
set_prev(next, prev);
}
mem[1] -= ADMIN_SIZE;
}
/* Voeg volgende blok samen met het huidige als deze vrij is als een
* groot vrij blok. */
if(next != 0 && get_free(next)){
free_block(next);
}
}
开发者ID:TomPeerdeman,项目名称:OS2012,代码行数:31,代码来源:mem-func.c
示例13: EscapeOrbit
// ==============================================================================================================================================
// Define planet excape orbit, Pos = vessel position, Esc = Escape vector,
//
void Orbit::EscapeOrbit(OBJHANDLE ref,VECTOR3 Pos,VECTOR3 Esc,VECTOR3 normal)
{
double myy=GC*oapiGetMass(ref);
double rad=length(Pos);
double Esc2=dotp(Esc,Esc);
double ang=nangle(Pos,Esc,normal);
double sma = -myy / Esc2; // (constant)
double sq=sin(ang);
double q=rad*rad*sq*sq;
double w=2.0*sma*rad*(cos(ang)-1.0);
double ecc=sqrt((q-rad*sq*sqrt(q+2.0*w)+w)/(2.0*sma*sma)+1.0);
double par=sma*(1.0-ecc*ecc);
// Compute Tangential angle
double x=(par-rad)/(rad*ecc);
if (x>1) x=1; if (x<-1) x=-1;
double tra=acos(x);
double y=PI+acos(1.0/ecc);
if (ang<y) tra=PI2-tra;
double ta=tra2gamma(tra,ecc);
VECTOR3 Vel=create_vector(normal,Pos,ta);
Vel=set_length(Vel,sqrt(2*myy/rad - myy/sma));
Elements(Pos,Vel,myy);
}
开发者ID:ADSWNJ,项目名称:BaseSyncMFD,代码行数:31,代码来源:BSOrbit.cpp
示例14: compute_slot_size
void
QcRoundRobinDatabase::init(bool allocate)
{
size_t header_size = compute_slot_size(HEADER_FORMAT) + m_slot_format.length();
// Round size to 8-byte
m_header_size = (header_size/8)*8;
if (m_header_size < header_size)
m_header_size += 8;
size_t slot_format_length = m_slot_format.length();
m_buffer << static_cast<quint8>(VERSION)
<< static_cast<quint16>(m_position)
<< static_cast<quint16>(m_number_of_used_slots)
<< static_cast<quint16>(m_header_size)
<< static_cast<quint16>(m_number_of_reserved_slots)
<< static_cast<quint16>(m_slot_size)
<< static_cast<quint8>(slot_format_length);
m_buffer.writeRawData(m_slot_format.toStdString().c_str(), slot_format_length); // don't include terminal \0
// clear padding
for (size_t i = 0; i < (m_header_size - header_size); i++)
m_buffer << static_cast<quint8>(0);
if (allocate)
set_length();
}
开发者ID:bleausard,项目名称:meije-tk,代码行数:25,代码来源:rrd.cpp
示例15: vendor_init
/*
* Creates a Vendor Request message. This message can be used
* to facilitate sending of vendor-defined arbitrary data.
*
* @overload initialize
* @example
* Vendor.new
*
* @overload initialize(options)
* @example
* Vendor.new(
* :vendor => 0x3000,
* :data => "deadbeef".unpack( "C*" ),
* :transaction_id => 123
* )
*
* @param [Hash] options
* the options to create a message with.
* @option options [Number] :xid
* @option options [Number] :transaction_id
* an unsigned 32bit integer number associated with this message.
* if not specified, an auto-generated value is set.
* @option options [Number] :vendor
* the vendor identifier. If MSB is zero low order bytes are IEEE OUI. Otherwise defined by openflow.
* @option options [Array] :data
* a String that holds vendor's defined arbitrary length data.
*
* @raise [ArgumentError] if transaction ID is not an unsigned 32-bit integer.
* @raise [ArgumentError] if user data is not an array of bytes.
* @raise [TypeError] if options is not a hash.
* @return [Vendor]
*/
static VALUE
vendor_init( int argc, VALUE *argv, VALUE self ) {
buffer *vendor = NULL;
Data_Get_Struct( self, buffer, vendor );
VALUE options = Qnil;
if ( rb_scan_args( argc, argv, "01", &options ) == 0 ) {
set_xid( vendor, get_transaction_id() );
}
else {
if ( options == Qnil ) {
set_xid( vendor, get_transaction_id() );
}
else {
if ( rb_scan_args( argc, argv, "01", &options ) == 1 ) {
Check_Type( options, T_HASH );
VALUE tmp = Qnil;
VALUE xid = Qnil;
tmp = rb_hash_aref( options, ID2SYM( rb_intern( "transaction_id" ) ) );
if ( tmp != Qnil ) {
xid = tmp;
}
tmp = rb_hash_aref( options, ID2SYM( rb_intern( "xid" ) ) );
if ( tmp != Qnil ) {
xid = tmp;
}
if ( xid != Qnil ) {
validate_xid( xid );
set_xid( vendor, ( uint32_t ) NUM2UINT( xid ) );
}
else {
set_xid( vendor, get_transaction_id() );
}
tmp = rb_hash_aref( options, ID2SYM( rb_intern( "vendor" ) ) );
if ( tmp != Qnil ) {
( ( struct ofp_vendor_header * ) ( vendor->data ) )->vendor = htonl( ( uint32_t ) NUM2UINT( tmp ) );
}
tmp = rb_hash_aref( options, ID2SYM( rb_intern( "data" ) ) );
if ( tmp != Qnil ) {
Check_Type( tmp, T_ARRAY );
uint16_t length = ( uint16_t ) RARRAY_LEN( tmp );
append_back_buffer( vendor, length );
set_length( vendor, length );
uint8_t *data = ( uint8_t * ) ( ( char * ) vendor->data + sizeof( struct ofp_vendor_header ) );
int i;
for ( i = 0; i < length; i++ ) {
data[ i ] = ( uint8_t ) FIX2INT( RARRAY_PTR( tmp )[ i ] );
}
}
}
}
}
return self;
}
开发者ID:kazuyas,项目名称:trema,代码行数:91,代码来源:vendor.c
示例16: spi_delay
// Constructor for use with hardware SPI (specific clock/data pins):
WS2801::WS2801(const char* spi_device_arg, uint16_t n) :
spi_delay(0),
pixels(0)
{
spi_device = strdup(spi_device_arg);
spi_start();
set_length(n);
}
开发者ID:Dewb,项目名称:powerlines,代码行数:9,代码来源:WS2801.cpp
示例17: set_length
Subunit::Subunit()
{
set_length(1);
set_number_of_bonds_created(0);
set_spring_constant(1);
}
开发者ID:JennyPoulton,项目名称:4th-year-project,代码行数:8,代码来源:Subunit.cpp
示例18: set_length
//Find length of a cluster in units of pixels in a row
void Cluster::find_length(){
//Sort by row
hits.sort(compare_rows);
//Then take the difference of the first and last values
set_length(hits.back().get_row() - hits.front().get_row() + 1);
}
开发者ID:rmdcarney,项目名称:testBeamAna,代码行数:9,代码来源:Cluster.cpp
示例19: Array_unshift
/* ECMA-262 3rd Edition 15.4.4.13 */
static HRESULT Array_unshift(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, unsigned argc, jsval_t *argv,
jsval_t *r)
{
jsdisp_t *jsthis;
WCHAR buf[14], *buf_end, *str;
DWORD i, length;
jsval_t val;
DISPID id;
HRESULT hres;
TRACE("\n");
hres = get_length(ctx, vthis, &jsthis, &length);
if(FAILED(hres))
return hres;
if(argc) {
buf_end = buf + sizeof(buf)/sizeof(WCHAR)-1;
*buf_end-- = 0;
i = length;
while(i--) {
str = idx_to_str(i, buf_end);
hres = jsdisp_get_id(jsthis, str, 0, &id);
if(SUCCEEDED(hres)) {
hres = jsdisp_propget(jsthis, id, &val);
if(FAILED(hres))
return hres;
hres = jsdisp_propput_idx(jsthis, i+argc, val);
jsval_release(val);
}else if(hres == DISP_E_UNKNOWNNAME) {
hres = IDispatchEx_DeleteMemberByDispID(vthis->u.dispex, id);
}
}
if(FAILED(hres))
return hres;
}
for(i=0; i<argc; i++) {
hres = jsdisp_propput_idx(jsthis, i, argv[i]);
if(FAILED(hres))
return hres;
}
if(argc) {
length += argc;
hres = set_length(jsthis, length);
if(FAILED(hres))
return hres;
}
if(r)
*r = ctx->version < 2 ? jsval_undefined() : jsval_number(length);
return S_OK;
}
开发者ID:RPG-7,项目名称:reactos,代码行数:59,代码来源:array.c
示例20: copy_meta
void file_info::copy(const file_info & p_source)
{
if (&p_source != this) {
copy_meta(p_source);
copy_info(p_source);
set_length(p_source.get_length());
set_replaygain(p_source.get_replaygain());
}
}
开发者ID:kazukioishi,项目名称:foo_nowplayingtunes,代码行数:9,代码来源:file_info.cpp
注:本文中的set_length函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论