当前位置: 首页>>代码示例>>C++>>正文


C++ ser函数代码示例

本文整理汇总了C++中ser函数的典型用法代码示例。如果您正苦于以下问题:C++ ser函数的具体用法?C++ ser怎么用?C++ ser使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了ser函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: ser

void ser(struct node* root,int search)
{
	if(root->data==search)
	{
		if(root->right!=NULL)
		{
			root=root->right;
			while(root->left!=NULL)
			{
				root=root->left;
			}
			printf("%d ",root->data);
		}
		else
		{
			while(root->par->left!=root)
			{
				root=root->par;
			}
			printf("%d ",root->par->data);
		}
	}
	else if(root->data>search)
	{
		ser(root->left,search);
	}
	else
	{
		ser(root->right,search);
	}
}
开发者ID:Bminus,项目名称:Algorithms,代码行数:31,代码来源:12.c

示例2: writer

// static
void Serdes::SerializeMapObjects(MapObjects const & mapObjects, std::vector<int8_t> & result)
{
  result.clear();
  using Sink = MemWriter<std::vector<int8_t>>;

  Sink writer(result);
  std::string const nextLine = "\n";
  MapObjectEvent event;

  mapObjects.ForEach([&writer, &event, &nextLine](MapObject const & item)
  {
    for (auto const & poiEvent : item.GetEvents())
    {
      // Additional scope is added because of the coding::SerializerJson dumps result at destruction.
      {
        coding::SerializerJson<Sink> ser(writer);
        event.m_bestPoiType = item.GetBestType();
        event.m_poiPos = item.GetPos();
        event.m_defaultName = item.GetDefaultName();
        event.m_readableName = item.GetReadableName();
        event.m_event = poiEvent;
        ser(event);
      }
      writer.Write(nextLine.data(), nextLine.size());
    }
  });
}
开发者ID:milchakov,项目名称:omim,代码行数:28,代码来源:eye_serdes.cpp

示例3: WriteObjectToArchive

///////////////////////////////////////////////////////////////////////////////
// WriteObjectToArchive -- called from WriteObject, does most of the work
///////////////////////////////////////////////////////////////////////////////
static void WriteObjectToArchive(cArchive&                 arch,
                                 const TCHAR*              filename, // filename is used only for issuing error messages
                                 const iTypedSerializable* pObjHeader,
                                 const iTypedSerializable& obj,
                                 cFileHeader&              fileHeader,
                                 bool                      bEncrypt,
                                 const cElGamalSigPrivateKey* pPrivateKey)
{
    try
    {
        // Set file version.
        // If we in the future we wish to support reading databases of different versions,
        // we will have to move this set to outside WriteObject().
        fileHeader.SetVersion(CURRENT_FIXED_VERSION);

        fileHeader.SetEncoding(bEncrypt ? cFileHeader::ASYM_ENCRYPTION : cFileHeader::COMPRESSED);

        {
            cSerializerImpl fhSer(arch, cSerializerImpl::S_WRITE, filename);
            fileHeader.Write(&fhSer);
        }

        if (bEncrypt)
        {
            cElGamalSigArchive cryptoArchive;
            cryptoArchive.SetWrite(&arch, pPrivateKey);
            cSerializerImpl ser(cryptoArchive, cSerializerImpl::S_WRITE, filename);
            ser.Init();
            if (pObjHeader)
                ser.WriteObject(pObjHeader);
            ser.WriteObject(&obj);
            ser.Finit();
            cryptoArchive.FlushWrite();
        }
        else
        {
            // not encrypted
            cNullCryptoArchive cryptoArchive;
            cryptoArchive.Start(&arch);
            cSerializerImpl ser(cryptoArchive, cSerializerImpl::S_WRITE, filename);
            ser.Init();
            if (pObjHeader)
                ser.WriteObject(pObjHeader);
            ser.WriteObject(&obj);
            ser.Finit();
            cryptoArchive.Finish();
        }
    }
    catch (eError& e)
    {
        throw ePoly(e.GetID(), cErrorUtil::MakeFileError(e.GetMsg(), filename), e.GetFlags());
    }
}
开发者ID:Tripwire,项目名称:tripwire-open-source,代码行数:56,代码来源:twutil.cpp

示例4: GridSource

HalfFloatGridSource::HalfFloatGridSource(const String &serializedVolumeFile, const bool trilinearValue, const bool trilinearGradient, const bool sobelGradient) :
    GridSource(trilinearValue, trilinearGradient, sobelGradient)
{

    Timer t;
    DataStreamPtr streamRead = Root::getSingleton().openFileStream(serializedVolumeFile);
#if OGRE_NO_ZIP_ARCHIVE == 0
    DataStreamPtr uncompressStream(OGRE_NEW DeflateStream(serializedVolumeFile, streamRead));
    StreamSerialiser ser(uncompressStream);
#else
    StreamSerialiser ser(streamRead);
#endif
    if (!ser.readChunkBegin(VOLUME_CHUNK_ID, VOLUME_CHUNK_VERSION))
    {
        OGRE_EXCEPT(Exception::ERR_INVALID_STATE,
                    "Invalid volume file given!",
                    __FUNCTION__);
    }

    // Read header
    Vector3 readFrom, readTo;
    ser.read(&readFrom);
    ser.read(&readTo);
    float voxelWidth;
    ser.read<float>(&voxelWidth);
    size_t width, height, depth;
    ser.read<size_t>(&width);
    ser.read<size_t>(&height);
    ser.read<size_t>(&depth);
    mWidth = static_cast<int>(width);
    mHeight = static_cast<int>(height);
    mDepth = static_cast<int>(depth);
    mDepthTimesHeight = static_cast<int>(mDepth * mHeight);

    Vector3 worldDimension = readTo - readFrom;
    mPosXScale = (Real)1.0 / (Real)worldDimension.x * (Real)mWidth;
    mPosYScale = (Real)1.0 / (Real)worldDimension.y * (Real)mHeight;
    mPosZScale = (Real)1.0 / (Real)worldDimension.z * (Real)mDepth;

    mVolumeSpaceToWorldSpaceFactor = (Real)worldDimension.x * (Real)mWidth;
    mMaxClampedAbsoluteDensity = 0;

    // Read data
    size_t elementCount = mWidth * mHeight * mDepth;
    mData = OGRE_ALLOC_T(uint16, elementCount, MEMCATEGORY_GENERAL);
    ser.read(mData, elementCount);

    ser.readChunkEnd(VOLUME_CHUNK_ID);

    LogManager::getSingleton().stream() << "Processed serialization in " << t.getMilliseconds() << "ms.";
}
开发者ID:quinsmpang,项目名称:xsilium-engine,代码行数:51,代码来源:OgreVolumeHalfFloatGridSource.cpp

示例5: controlc

void controlc()					// say ^C
{ cstring *sptr;				// string ptr
  u_char junk[10];
  short s;					// for returns
  sptr = (cstring *) junk;			// where to put it
  s = SQ_WriteFormat(SQ_LF);			// new line
  if (s < 0) ser(s);				// check for error
  bcopy("^C", sptr->buf, 2);			// copy in the prompt
  sptr->buf[3] = '\0';				// null terminate
  sptr->len = 2;				// and the length
  s = SQ_Write(sptr);				// write the prompt
  if (s < 0) ser(s);				// check for error
  return;					// exit
}
开发者ID:pahihu,项目名称:mumps,代码行数:14,代码来源:init_run.c

示例6: getManager

	//---------------------------------------------------------------------
	void Page::save(const String& filename)
	{
		DataStreamPtr stream = Root::getSingleton().createFileStream(filename, 
			getManager()->getPageResourceGroup(), true);
		StreamSerialiser ser(stream);
		save(ser);
	}
开发者ID:JangoOs,项目名称:kbengine_ogre_demo,代码行数:8,代码来源:OgrePage.cpp

示例7: assert

netBool UnreliableListener::Push(SerializerLess &_ser, const Peer& _peer)
{
	assert(m_stream != nullptr);

	Channel& channel = GetChannel(m_sendChannels, _peer);

	SerializerLess *back = channel.Back();

	// bundling
	if(channel.IsEmpty() || back->GetSize() + _ser.GetSize() > back->GetBufferSize())
	{
		SerializerLess ser(m_pool.GetSerializer());
		// prepare serializer
		ser.Write(m_stream->GetType());

		SerializerLess stream_ser(ser, m_stream->GetHeaderSize(), ser.GetBufferSize());
		stream_ser.Write(GetType());
		stream_ser.Close();

		ser.SetCursor(ser.GetCursor() + stream_ser.GetSize());
		ser.Close();
		channel.Push(ser);
	}

	return Pack(_ser, _peer);
}
开发者ID:ricklesauceur,项目名称:netduke,代码行数:26,代码来源:unreliablelistener.cpp

示例8: ASSERT

///////////////////////////////////////////////////////////////////////////////
// SetFCOData
///////////////////////////////////////////////////////////////////////////////
void cDbDataSourceIter::SetFCOData( const iFCO* pFCO ) //throw (eError)
{
	ASSERT( ! Done() );
	if( Done() )
	{
		throw eHierDatabase( _T("Attempt to set FCO data when the iterator is done.") );
	}
	// TODO -- assert and throw if the fco's type is not the same as our creation function
	//		There is no way to do this through the serializable interface, but when there is,
	//		we should do the above assertion.
	//
	// if data already exists here, we first remove it; 
	//
	if( mDbIter.HasData() )
	{
		mDbIter.RemoveData();
	}
	//
	// write the fco's property set to a memory archive...
	//
	// TODO -- does this need to be static?
	static cMemoryArchive arch;
	arch.Seek			( 0, cBidirArchive::BEGINNING );
	cSerializerImpl ser	(arch, cSerializerImpl::S_WRITE);
	ser.Init();
	ser.WriteObject		( pFCO->GetPropSet() );
	ser.Finit();
	//
	// write this to the archive...
	//
	mDbIter.SetData( arch.GetMemory(), arch.CurrentPos() );
}
开发者ID:jiangzhw,项目名称:tripwire-open-source,代码行数:35,代码来源:dbdatasource.cpp

示例9: Sys_Milliseconds

/*
===============
idCommonLocal::SendUsercmd
===============
*/
void idCommonLocal::SendUsercmds( int localClientNum ) {
    if ( !mapSpawned ) {
        return;
    }
    int currentTime = Sys_Milliseconds();
    if ( currentTime < nextUsercmdSendTime ) {
        return;
    }
    idLobbyBase & lobby = session->GetActingGameStateLobbyBase();
    if ( lobby.IsHost() ) {
        return;
    }
    // We always send the last NUM_USERCMD_SEND usercmds
    // Which may result in duplicate usercmds being sent in the case of a low net_ucmdRate
    // But the LZW compressor means the extra usercmds are not large and the redundancy can smooth packet loss
    byte buffer[idPacketProcessor::MAX_FINAL_PACKET_SIZE];
    idBitMsg msg( buffer, sizeof( buffer ) );
    idSerializer ser( msg, true );
    usercmd_t empty;
    usercmd_t * last = &empty;

    usercmd_t * cmdBuffer[NUM_USERCMD_SEND];
    const int numCmds = userCmdMgr.GetPlayerCmds( localClientNum, cmdBuffer, NUM_USERCMD_SEND );
    msg.WriteByte( numCmds );
    for ( int i = 0; i < numCmds; i++ ) {
        cmdBuffer[i]->Serialize( ser, *last );

        last = cmdBuffer[i];
    }
    session->SendUsercmds( msg );

    nextUsercmdSendTime = MSEC_ALIGN_TO_FRAME( currentTime + net_ucmdRate.GetInteger() );
}
开发者ID:Nekel-Seyew,项目名称:OregonState-idTech4,代码行数:38,代码来源:Common_network.cpp

示例10: fastbuffer

bool MetaTestTypesPubSubType::getKey(void *data, InstanceHandle_t* handle)
{
    if(!m_isGetKeyDefined)
        return false;

    MetaTestType* p_type = (MetaTestType*) data;

    // Object that manages the raw buffer.
    eprosima::fastcdr::FastBuffer fastbuffer((char*)m_keyBuffer,MetaTestType::getKeyMaxCdrSerializedSize());
    // Object that serializes the data.
    eprosima::fastcdr::Cdr ser(fastbuffer, eprosima::fastcdr::Cdr::BIG_ENDIANNESS);

    p_type->serializeKey(ser);
    if(MetaTestType::getKeyMaxCdrSerializedSize()>16)
    {
        m_md5.init();
        m_md5.update(m_keyBuffer,(unsigned int)ser.getSerializedDataLength());
        m_md5.finalize();
        for(uint8_t i = 0; i<16; ++i)
        {
            handle->value[i] = m_md5.digest[i];
        }
    }
    else
    {
        for(uint8_t i = 0; i<16; ++i)
        {
            handle->value[i] = m_keyBuffer[i];
        }
    }

    return true;
}
开发者ID:showna,项目名称:Fast-RTPS,代码行数:33,代码来源:MetaTestTypesPubSubType.cpp

示例11: ser

void MeshSaverImplv1_0::WriteVersion(OutputStreamPtr& out) {
	OutputSerializer ser(out);
	uint32 meshMagic = FILE_MAGIC_MESH;
	VersionID ver = NEX_MAKE_VERSION(1, 0, 0);
	String versionInfo = Convert::ToVersionString(ver);
	ser << meshMagic << versionInfo;
}
开发者ID:obhi-d,项目名称:nextar,代码行数:7,代码来源:MeshSaverImplv10.cpp

示例12: serialize_gc

void serialize_gc(int fd, const vector<GarbledGate>& gc) {
    struct serializer : public boost::static_visitor<> {
        int fd;
        serializer(int fd_) : fd(fd_) {}
        void operator()(const InputWire& w) {
            char who = tag_to_bool(w.who) ? 'S' : 'R';
            dbgprintf(stderr, "Serializing InputWire(%c, %lu)\n", who, w.index);
            write_aon(fd, "0", sizeof(char));
            write_aon(fd, &who, sizeof(char));
            write_aon(fd, (char*)&w.index, sizeof(size_t));
        }
        void operator()(const GarbledWire& w) {
            dbgprintf(stderr, "Serializing GarbledWire(%lu, %lu)\n", w.l, w.r);
            write_aon(fd, "1", sizeof(char));
            write_aon(fd, (char*)&w.values[0][0][0], 2 * 2 * (SEC_PARAM+1)*sizeof(uint8_t));
            write_aon(fd, (char*)&w.l, sizeof(size_t));
            write_aon(fd, (char*)&w.r, sizeof(size_t));
        }
        void operator()(const OutputWire& w) {
            dbgprintf(stderr, "Serializing OutputWire(%lu)\n", w.index);
            write_aon(fd, "2", sizeof(char));
            write_aon(fd, (char*)&w.index, sizeof(w.index));
        }
    };
    size_t i, n = gc.size();
    serializer ser(fd);
    write_aon(fd, (char*)&n, sizeof(size_t));
    for(i=0; i<n; i++) {
        boost::apply_visitor(ser, gc[i]);
    }
}
开发者ID:aweinstock314,项目名称:weinsa_sheedb_tinkhj_ifillj_crypto2016_yaoprotocol,代码行数:31,代码来源:GarbledCircuit.cpp

示例13: makeDiscoveryClusterInfo

common::Error makeDiscoveryClusterInfo(const common::net::HostAndPort& parentHost,
                                       const std::string& text,
                                       std::vector<ServerDiscoveryClusterInfoSPtr>* infos) {
  if (text.empty() || !infos) {
    return common::make_error_value("Invalid input argument(s)", common::ErrorValue::E_ERROR);
    ;
  }

  size_t pos = 0;
  size_t start = 0;

  while ((pos = text.find(MARKER, start)) != std::string::npos) {
    std::string line = text.substr(start, pos - start);

    ServerCommonInfo inf;
    bool self = false;
    common::Error lerr = MakeServerCommonInfoFromLine(line, &inf, &self);
    if (lerr && lerr->isError()) {
      continue;
    }
    if (common::net::isLocalHost(inf.host.host)) {  // for direct connection
      inf.host.host = parentHost.host;
    }

    ServerDiscoveryClusterInfoSPtr ser(new DiscoveryClusterInfo(inf, self));
    infos->push_back(ser);
    start = pos + 1;
  }

  return common::Error();
}
开发者ID:fastogt,项目名称:fastonosql,代码行数:31,代码来源:cluster_infos.cpp

示例14: compressStream

    void Source::serialize(const Vector3 &from, const Vector3 &to, float voxelWidth, Real maxClampedAbsoluteDensity, const String &file)
    {
     
        Timer t;

        // Compress
        DataStreamPtr stream = Root::getSingleton().createFileStream(file);
        DataStreamPtr compressStream(OGRE_NEW DeflateStream(file, stream));
        StreamSerialiser ser(compressStream);
        ser.writeChunkBegin(VOLUME_CHUNK_ID, VOLUME_CHUNK_VERSION);

        // Write Metadata
        ser.write(&from);
        ser.write(&to);
        ser.write<float>(&voxelWidth);
        Vector3 diagonal = to - from;
        size_t gridWidth = (size_t)(diagonal.x / voxelWidth);
        size_t gridHeight = (size_t)(diagonal.y / voxelWidth);
        size_t gridDepth = (size_t)(diagonal.z / voxelWidth);
        ser.write<size_t>(&gridWidth);
        ser.write<size_t>(&gridHeight);
        ser.write<size_t>(&gridDepth);

        // Go over the volume and write the density data.
        Vector3 pos;
        Real realVal;
        size_t x;
        size_t y;
        uint16 buffer[SERIALIZATION_CHUNK_SIZE];
        size_t bufferI = 0;
        for (size_t z = 0; z < gridDepth; ++z)
        {
            for (x = 0; x < gridWidth; ++x)
            {
                for (y = 0; y < gridHeight; ++y)
                {
                    pos.x = x * voxelWidth + from.x;
                    pos.y = y * voxelWidth + from.y;
                    pos.z = z * voxelWidth + from.z;
                    realVal = Math::Clamp<Real>(getValue(pos), -maxClampedAbsoluteDensity, maxClampedAbsoluteDensity);
                    buffer[bufferI] = Bitwise::floatToHalf(realVal);
                    bufferI++;
                    if (bufferI == SERIALIZATION_CHUNK_SIZE)
                    {
                        ser.write<uint16>(buffer, SERIALIZATION_CHUNK_SIZE);
                        bufferI = 0;
                    }
                }
            }
        }
        if (bufferI > 0)
        {
            ser.write<uint16>(buffer, bufferI);
        }
        LogManager::getSingleton().stream() << "Time for serialization: " << t.getMilliseconds() << "ms";

        ser.writeChunkEnd(VOLUME_CHUNK_ID);
        
    }
开发者ID:vancepym,项目名称:ogre,代码行数:59,代码来源:OgreVolumeSource.cpp

示例15: ser

void ext_list::ext::serialise(xml::serializer &serialiser, const std::string& ns)
{
    std::istringstream ser(serialised_value_);
    xml::parser p(ser, "", xml::parser::receive_default);
    p.next_expect(xml::parser::event_type::start_element, xml::qname(ns, "wrap"));
    roundtrip(p, serialiser);
    p.next_expect(xml::parser::event_type::end_element, xml::qname(ns, "wrap"));
}
开发者ID:tfussell,项目名称:xlnt,代码行数:8,代码来源:ext_list.cpp


注:本文中的ser函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。