本文整理汇总了C++中getSize函数的典型用法代码示例。如果您正苦于以下问题:C++ getSize函数的具体用法?C++ getSize怎么用?C++ getSize使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getSize函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: replace
template <class T, typename S> T* ArrayBase<T,S>::add(const ArrayBase<T,S>& other)
{
return replace(getSize(), getSize(), other);
}
示例2: glPointSize
void PointChunk::changeFrom(DrawEnv *pEnv,
StateChunk *old_chunk,
UInt32 )
{
PointChunk *old = dynamic_cast<PointChunk *>(old_chunk);
#ifndef OSG_OGL_ES2
if(getSize() != old->getSize())
glPointSize(getSize());
#endif
#if !defined(OSG_OGL_COREONLY) || defined(OSG_CHECK_COREONLY)
if(getSmooth() && !old->getSmooth())
{
glEnable(GL_POINT_SMOOTH);
}
else if(!getSmooth() && old->getSmooth())
{
glDisable(GL_POINT_SMOOTH);
}
#endif
Window *pWin = pEnv->getWindow();
osgSinkUnusedWarning(pWin);
#if GL_ARB_point_parameters
if(getMinSize() >= 0.f)
{
if(pEnv->getWindow()->hasExtOrVersion(_extPointParameters, 0x0104))
{
OSGGETGLFUNCBYID_GL3( glPointParameterf,
osgGlPointParameterf,
_funcIdPointParameterf,
pWin);
#if !defined(OSG_OGL_COREONLY) || defined(OSG_CHECK_COREONLY)
OSGGETGLFUNCBYID_GL3( glPointParameterfv,
osgGlPointParameterfv,
_funcIdPointParameterfv,
pWin);
osgGlPointParameterf(GL_POINT_SIZE_MIN_ARB, getMinSize());
osgGlPointParameterf(GL_POINT_SIZE_MAX_ARB, getMaxSize());
#endif
osgGlPointParameterf(GL_POINT_FADE_THRESHOLD_SIZE_ARB,
getFadeThreshold());
#if !defined(OSG_OGL_COREONLY) || defined(OSG_CHECK_COREONLY)
GLfloat att[3] = { getConstantAttenuation (),
getLinearAttenuation (),
getQuadraticAttenuation() };
osgGlPointParameterfv(GL_POINT_DISTANCE_ATTENUATION_ARB, att);
#endif
}
}
else if(old->getMinSize() >= 0.f)
{
if(pEnv->getWindow()->hasExtOrVersion(_extPointParameters, 0x0104))
{
OSGGETGLFUNCBYID_GL3( glPointParameterf,
osgGlPointParameterf,
_funcIdPointParameterf,
pWin);
#if !defined(OSG_OGL_COREONLY) || defined(OSG_CHECK_COREONLY)
OSGGETGLFUNCBYID_GL3( glPointParameterfv,
osgGlPointParameterfv,
_funcIdPointParameterfv,
pWin);
osgGlPointParameterf(GL_POINT_SIZE_MIN_ARB, 0);
osgGlPointParameterf(GL_POINT_SIZE_MAX_ARB, 1e10);
#endif
osgGlPointParameterf(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 1);
#if !defined(OSG_OGL_COREONLY) || defined(OSG_CHECK_COREONLY)
GLfloat att[3] = { 1, 0, 0 };
osgGlPointParameterfv(GL_POINT_DISTANCE_ATTENUATION_ARB, att);
#endif
}
}
#endif
#if !defined(OSG_OGL_COREONLY) || defined(OSG_CHECK_COREONLY)
#if GL_ARB_point_sprite
if(getSprite() && !old->getSprite())
{
if(pEnv->getWindow()->hasExtOrVersion(_extPointSpriteARB, 0x0200))
{
#if GL_NV_point_sprite
if(pEnv->getWindow()->hasExtension(_extPointSpriteNV))
{
OSGGETGLFUNCBYID_GL3( glPointParameterf,
osgGlPointParameterf,
_funcIdPointParameterf,
pWin);
osgGlPointParameterf(GL_POINT_SPRITE_R_MODE_NV,
//.........这里部分代码省略.........
示例3: r
void BackgroundSync::produce() {
// this oplog reader does not do a handshake because we don't want the server it's syncing
// from to track how far it has synced
OplogReader r(false /* doHandshake */);
// find a target to sync from the last op time written
getOplogReader(r);
// no server found
{
boost::unique_lock<boost::mutex> lock(_mutex);
if (_currentSyncTarget == NULL) {
lock.unlock();
sleepsecs(1);
// if there is no one to sync from
return;
}
r.tailingQueryGTE(rsoplog, _lastOpTimeFetched);
}
// if target cut connections between connecting and querying (for
// example, because it stepped down) we might not have a cursor
if (!r.haveCursor()) {
return;
}
while (MONGO_FAIL_POINT(rsBgSyncProduce)) {
sleepmillis(0);
}
uassert(1000, "replSet source for syncing doesn't seem to be await capable -- is it an older version of mongodb?", r.awaitCapable() );
if (isRollbackRequired(r)) {
stop();
return;
}
while (!inShutdown()) {
while (!inShutdown()) {
if (!r.moreInCurrentBatch()) {
if (theReplSet->gotForceSync()) {
return;
}
if (isAssumingPrimary() || theReplSet->isPrimary()) {
return;
}
// re-evaluate quality of sync target
if (shouldChangeSyncTarget()) {
return;
}
//record time for each getmore
{
TimerHolder batchTimer(&getmoreReplStats);
r.more();
}
//increment
networkByteStats.increment(r.currentBatchMessageSize());
}
if (!r.more())
break;
BSONObj o = r.nextSafe().getOwned();
opsReadStats.increment();
{
boost::unique_lock<boost::mutex> lock(_mutex);
_appliedBuffer = false;
}
OCCASIONALLY {
LOG(2) << "bgsync buffer has " << _buffer.size() << " bytes" << rsLog;
}
// the blocking queue will wait (forever) until there's room for us to push
_buffer.push(o);
bufferCountGauge.increment();
bufferSizeGauge.increment(getSize(o));
{
boost::unique_lock<boost::mutex> lock(_mutex);
_lastH = o["h"].numberLong();
_lastOpTimeFetched = o["ts"]._opTime();
}
} // end while
{
boost::unique_lock<boost::mutex> lock(_mutex);
if (_pause || !_currentSyncTarget || !_currentSyncTarget->hbinfo().hbstate.readable()) {
return;
}
}
r.tailCheck();
//.........这里部分代码省略.........
示例4: scopedMutexLock
// Add new job to the end of queue
void JobQueue::pushHighPriorityJob(boost::shared_ptr<Job> job)
{
{ // scope
ScopedMutexLock scopedMutexLock(_queueMutex);
_queue.push_front(job);
LOG4CXX_TRACE(logger, "JobQueue::pushHighPriorityJob: Q ("<<this<<") size = "<<getSize());
}
// We are releasing semaphore after unlocking mutex to
// prevent unwanted _queueMutex sleeping in popJob.
_queueSemaphore.release();
}
示例5: createPage
Layout* PageView::createPage()
{
Layout* newPage = Layout::create();
newPage->setSize(getSize());
return newPage;
}
示例6: GuiComponent
GuiMetaDataEd::GuiMetaDataEd(Window* window, MetaDataList* md, const std::vector<MetaDataDecl>& mdd, ScraperSearchParams scraperParams,
const std::string& /*header*/, std::function<void()> saveCallback, std::function<void()> deleteFunc) : GuiComponent(window),
mScraperParams(scraperParams),
mBackground(window, ":/frame.png"),
mGrid(window, Vector2i(1, 3)),
mMetaDataDecl(mdd),
mMetaData(md),
mSavedCallback(saveCallback), mDeleteFunc(deleteFunc)
{
addChild(&mBackground);
addChild(&mGrid);
mHeaderGrid = std::make_shared<ComponentGrid>(mWindow, Vector2i(1, 5));
mTitle = std::make_shared<TextComponent>(mWindow, "EDIT METADATA", Font::get(FONT_SIZE_LARGE), 0x555555FF, ALIGN_CENTER);
mSubtitle = std::make_shared<TextComponent>(mWindow, Utils::String::toUpper(Utils::FileSystem::getFileName(scraperParams.game->getPath())),
Font::get(FONT_SIZE_SMALL), 0x777777FF, ALIGN_CENTER);
mHeaderGrid->setEntry(mTitle, Vector2i(0, 1), false, true);
mHeaderGrid->setEntry(mSubtitle, Vector2i(0, 3), false, true);
mGrid.setEntry(mHeaderGrid, Vector2i(0, 0), false, true);
mList = std::make_shared<ComponentList>(mWindow);
mGrid.setEntry(mList, Vector2i(0, 1), true, true);
// populate list
for(auto iter = mdd.cbegin(); iter != mdd.cend(); iter++)
{
std::shared_ptr<GuiComponent> ed;
// don't add statistics
if(iter->isStatistic)
continue;
// create ed and add it (and any related components) to mMenu
// ed's value will be set below
ComponentListRow row;
auto lbl = std::make_shared<TextComponent>(mWindow, Utils::String::toUpper(iter->displayName), Font::get(FONT_SIZE_SMALL), 0x777777FF);
row.addElement(lbl, true); // label
switch(iter->type)
{
case MD_BOOL:
{
ed = std::make_shared<SwitchComponent>(window);
row.addElement(ed, false, true);
break;
}
case MD_RATING:
{
ed = std::make_shared<RatingComponent>(window);
const float height = lbl->getSize().y() * 0.71f;
ed->setSize(0, height);
row.addElement(ed, false, true);
auto spacer = std::make_shared<GuiComponent>(mWindow);
spacer->setSize(Renderer::getScreenWidth() * 0.0025f, 0);
row.addElement(spacer, false);
// pass input to the actual RatingComponent instead of the spacer
row.input_handler = std::bind(&GuiComponent::input, ed.get(), std::placeholders::_1, std::placeholders::_2);
break;
}
case MD_DATE:
{
ed = std::make_shared<DateTimeEditComponent>(window);
row.addElement(ed, false);
auto spacer = std::make_shared<GuiComponent>(mWindow);
spacer->setSize(Renderer::getScreenWidth() * 0.0025f, 0);
row.addElement(spacer, false);
// pass input to the actual DateTimeEditComponent instead of the spacer
row.input_handler = std::bind(&GuiComponent::input, ed.get(), std::placeholders::_1, std::placeholders::_2);
break;
}
case MD_TIME:
{
ed = std::make_shared<DateTimeEditComponent>(window, DateTimeEditComponent::DISP_RELATIVE_TO_NOW);
row.addElement(ed, false);
break;
}
case MD_MULTILINE_STRING:
default:
{
// MD_STRING
ed = std::make_shared<TextComponent>(window, "", Font::get(FONT_SIZE_SMALL, FONT_PATH_LIGHT), 0x777777FF, ALIGN_RIGHT);
row.addElement(ed, true);
auto spacer = std::make_shared<GuiComponent>(mWindow);
spacer->setSize(Renderer::getScreenWidth() * 0.005f, 0);
row.addElement(spacer, false);
auto bracket = std::make_shared<ImageComponent>(mWindow);
bracket->setImage(":/arrow.svg");
bracket->setResize(Vector2f(0, lbl->getFont()->getLetterHeight()));
//.........这里部分代码省略.........
示例7: return
bool RingBuffer::isEmpty()
{
return ( getSize() == 0 );
}
示例8: onSizeChanged
void TextComponent::onSizeChanged()
{
mAutoCalcExtent << (getSize().x() == 0), (getSize().y() == 0);
onTextChanged();
}
示例9: return
puint32 PStreamAsset::getPosition()
{
return (puint32)(getSize() - pAssetgetRemainingLength(&m_asset));
}
示例10: getPath
DeviceItem *
PlatformUdisks::getNewDevice(QString devicePath)
{
QString path, model, vendor;
DeviceItem *devItem = new DeviceItem;
path = getPath(devicePath);
if (path == "")
return(NULL);
if (!getIsDrive(devicePath))
return(NULL);
model = getModel(devicePath);
vendor = getVendor(devicePath);
devItem->setUDI(devicePath);
devItem->setPath(path);
devItem->setIsRemovable(getIsRemovable(devicePath));
devItem->setSize(getSize(devicePath));
devItem->setModelString(model);
if (vendor == "")
{
if (mKioskMode)
devItem->setVendorString("SUSE Studio USB Key");
else
devItem->setVendorString("Unknown Device");
}
else
{
devItem->setVendorString(vendor);
}
QString newDisplayString = QString("%1 %2 - %3 (%4 MB)")
.arg(devItem->getVendorString())
.arg(devItem->getModelString())
.arg(devItem->getPath())
.arg(devItem->getSize() / 1048576);
devItem->setDisplayString(newDisplayString);
if (mKioskMode)
{
if((devItem->getSize() / 1048576) > 200000)
{
delete devItem;
return(NULL);
}
}
// If a device is 0 megs we might as well just not list it
if ((devItem->getSize() / 1048576) > 0)
{
itemList << devItem;
}
else
{
delete devItem;
devItem = NULL;
}
return(devItem);
}
示例11: update
void Refineries::update( ) {
for ( int i = 0; i < ( int )getSize( ); i++ ) {
RefineryPtr refinery = std::dynamic_pointer_cast< Refinery >( get( i ) );
refinery->update( );
}
}
示例12: SwitchStateButton
void Credits::load(){
//// entities
backButton = std::shared_ptr<SwitchStateButton>(new SwitchStateButton(game->stateManager, "mainmenu"));
backButton->addSound(game->sounds["button_click"]);
auto texture = game->textures["logo"];
auto obj = std::shared_ptr<bb::Object2D>(new bb::Object2D());
auto logo = std::shared_ptr<bb::Entity>(new bb::Entity());
logo->addComponent("Texture", texture);
logo->addComponent("Position", std::shared_ptr<bb::Position2D>(new bb::Position2D(bb::vec2(60, game->wndSize[1]-texture->height()/2-60), bb::vec2(400.0f, 150.0f))));
logo->addComponent("Object2D", obj);
texture = game->textures["back"];
auto back = std::shared_ptr<Button>(new Button("back", backButton));
back->addComponent("Texture", texture);
back->addComponent("Position", std::shared_ptr<bb::Position2D>(new bb::Position2D(bb::vec2(game->wndSize[0]-400+222, 60), texture->getSize())));
back->addComponent("Object2D", obj);
auto title = std::shared_ptr<bb::Text>(new bb::Text());
title->addComponent("Position", std::shared_ptr<bb::Position2D>(new bb::Position2D(bb::vec2(140, game->wndSize[1]-240), bb::vec2(60.0f))));
title->addComponent("Object2D", obj);
title->addComponent("Mesh", std::shared_ptr<bb::Mesh>(new bb::Mesh()));
title->addComponent("Font", game->font);
title->setText("Credits");
auto content0 = std::shared_ptr<bb::Text>(new bb::Text());
content0->addComponent("Position", std::shared_ptr<bb::Position2D>(new bb::Position2D(bb::vec2(200, game->wndSize[1]/2+200), bb::vec2(40.0f))));
content0->addComponent("Object2D", obj);
content0->addComponent("Mesh", std::shared_ptr<bb::Mesh>(new bb::Mesh()));
content0->addComponent("Font", game->font);
content0->setText("This game was created by Marvin Blum.\nGet the game and source code on GitHub:\n\n\t\thttps://github.com/DeKugelschieber/LineRunner2\n\nMain menu music: \"Revolve\" by cinematrik:\n\t\thttp://ccmixter.org/files/hisboyelroy/430\nIngame music: \"TONTURA\" by URB:\n\t\thttp://freemusicarchive.org/music/URB/U_END/09_urb_-_tontura\n\nWindows port by EuadeLuxe");
//// systems
input = std::shared_ptr<bb::Input>(new bb::Input());
game->input = input;
game->input->add(back);
renderer = std::unique_ptr<Renderer>(new Renderer(game->shader, game->camera));
renderer->addEntity(logo);
renderer->addEntity(back);
textRenderer = std::unique_ptr<TextRenderer>(new TextRenderer(game->shader, game->camera, game->font->texture));
textRenderer->addEntity(title);
textRenderer->addEntity(content0);
hasStarted = true;
}
示例13: lastIndexOf
template <class T, typename S> S ArrayBase<T,S>::lastIndexOf(const T& item) const
{
return lastIndexOf(item, getSize() - 1);
}
示例14: lock
//.........这里部分代码省略.........
if (_rollbackIfNeeded(txn, _syncSourceReader)) {
stop();
return;
}
while (!inShutdown()) {
if (!_syncSourceReader.moreInCurrentBatch()) {
// Check some things periodically
// (whenever we run out of items in the
// current cursor batch)
int bs = _syncSourceReader.currentBatchMessageSize();
if( bs > 0 && bs < BatchIsSmallish ) {
// on a very low latency network, if we don't wait a little, we'll be
// getting ops to write almost one at a time. this will both be expensive
// for the upstream server as well as potentially defeating our parallel
// application of batches on the secondary.
//
// the inference here is basically if the batch is really small, we are
// "caught up".
//
sleepmillis(SleepToAllowBatchingMillis);
}
// If we are transitioning to primary state, we need to leave
// this loop in order to go into bgsync-pause mode.
if (_replCoord->isWaitingForApplierToDrain() ||
_replCoord->getCurrentMemberState().primary()) {
return;
}
// re-evaluate quality of sync target
if (shouldChangeSyncSource()) {
return;
}
{
//record time for each getmore
TimerHolder batchTimer(&getmoreReplStats);
// This calls receiveMore() on the oplogreader cursor.
// It can wait up to five seconds for more data.
_syncSourceReader.more();
}
networkByteStats.increment(_syncSourceReader.currentBatchMessageSize());
if (!_syncSourceReader.moreInCurrentBatch()) {
// If there is still no data from upstream, check a few more things
// and then loop back for another pass at getting more data
{
boost::unique_lock<boost::mutex> lock(_mutex);
if (_pause) {
return;
}
}
_syncSourceReader.tailCheck();
if( !_syncSourceReader.haveCursor() ) {
LOG(1) << "replSet end syncTail pass";
return;
}
continue;
}
}
// If we are transitioning to primary state, we need to leave
// this loop in order to go into bgsync-pause mode.
if (_replCoord->isWaitingForApplierToDrain() ||
_replCoord->getCurrentMemberState().primary()) {
LOG(1) << "waiting for draining or we are primary, not adding more ops to buffer";
return;
}
// At this point, we are guaranteed to have at least one thing to read out
// of the oplogreader cursor.
BSONObj o = _syncSourceReader.nextSafe().getOwned();
opsReadStats.increment();
{
boost::unique_lock<boost::mutex> lock(_mutex);
_appliedBuffer = false;
}
OCCASIONALLY {
LOG(2) << "bgsync buffer has " << _buffer.size() << " bytes";
}
bufferCountGauge.increment();
bufferSizeGauge.increment(getSize(o));
_buffer.push(o);
{
boost::unique_lock<boost::mutex> lock(_mutex);
_lastFetchedHash = o["h"].numberLong();
_lastOpTimeFetched = o["ts"]._opTime();
LOG(3) << "replSet lastOpTimeFetched: " << _lastOpTimeFetched.toStringPretty();
}
}
}
示例15: getSize
size_t File::available()
{
return getSize() - tell();
}