91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.47MB
    文件類型: .gz
    金幣: 1
    下載: 0 次
    發布日期: 2023-08-30
  • 語言: 其他
  • 標簽: orthanc??

資源簡介

Orthanc是一個輕量級的,基于REST的DICOM服務器,主要用于衛生保健和醫療研究。Orthanc可將任意運行Windows和Linux的計算機編程DICOM存儲(或者說是一個小型PACS系統),其架構是輕量級的,沒有復雜的數據庫管理,不依賴于第三方軟件。

資源截圖

代碼片段和文件信息

/**
?*?Orthanc?-?A?Lightweight?RESTful?DICOM?Store
?*?Copyright?(C)?2012-2016?Sebastien?Jodogne?Medical?Physics
?*?Department?University?Hospital?of?Liege?Belgium
?*?Copyright?(C)?2017-2019?Osimis?S.A.?Belgium
?*
?*?This?program?is?free?software:?you?can?redistribute?it?and/or
?*?modify?it?under?the?terms?of?the?GNU?General?Public?License?as
?*?published?by?the?Free?Software?Foundation?either?version?3?of?the
?*?License?or?(at?your?option)?any?later?version.
?*
?*?In?addition?as?a?special?exception?the?copyright?holders?of?this
?*?program?give?permission?to?link?the?code?of?its?release?with?the
?*?OpenSSL?project‘s?“OpenSSL“?library?(or?with?modified?versions?of?it
?*?that?use?the?same?license?as?the?“OpenSSL“?library)?and?distribute
?*?the?linked?executables.?You?must?obey?the?GNU?General?Public?License
?*?in?all?respects?for?all?of?the?code?used?other?than?“OpenSSL“.?If?you
?*?modify?file(s)?with?this?exception?you?may?extend?this?exception?to
?*?your?version?of?the?file(s)?but?you?are?not?obligated?to?do?so.?If
?*?you?do?not?wish?to?do?so?delete?this?exception?statement?from?your
?*?version.?If?you?delete?this?exception?statement?from?all?source?files
?*?in?the?program?then?also?delete?it?here.
?*?
?*?This?program?is?distributed?in?the?hope?that?it?will?be?useful?but
?*?WITHOUT?ANY?WARRANTY;?without?even?the?implied?warranty?of
?*?MERCHANTABILITY?or?FITNESS?FOR?A?PARTICULAR?PURPOSE.?See?the?GNU
?*?General?Public?License?for?more?details.
?*
?*?You?should?have?received?a?copy?of?the?GNU?General?Public?License
?*?along?with?this?program.?If?not?see?.
?**/


#include?“PrecompiledHeaders.h“
#include?“ChunkedBuffer.h“

#include?
#include?


namespace?Orthanc
{
??void?ChunkedBuffer::Clear()
??{
????numBytes_?=?0;

????for?(Chunks::iterator?it?=?chunks_.begin();?
?????????it?!=?chunks_.end();?++it)
????{
??????delete?*it;
????}
??}


??void?ChunkedBuffer::AddChunk(const?void*?chunkData
???????????????????????????????size_t?chunkSize)
??{
????if?(chunkSize?==?0)
????{
??????return;
????}
????else
????{
??????assert(chunkData?!=?NULL);
??????chunks_.push_back(new?std::string(reinterpret_cast(chunkData)?chunkSize));
??????numBytes_?+=?chunkSize;
????}
??}


??void?ChunkedBuffer::AddChunk(const?std::string&?chunk)
??{
????if?(chunk.size()?>?0)
????{
??????AddChunk(&chunk[0]?chunk.size());
????}
??}


??void?ChunkedBuffer::AddChunkDestructive(std::string&?chunk)
??{
????size_t?chunkSize?=?chunk.size();
????
????if?(chunkSize?>?0)
????{
??????chunks_.push_back(new?std::string);
??????chunks_.back()->swap(chunk);
??????numBytes_?+=?chunkSize;
????}
??}


??void?ChunkedBuffer::Flatten(std::string&?result)
??{
????result.resize(numBytes_);

????size_t?pos?=?0;
????for?(Chunks::iterator?it?=?chunks_.begin();?
?????????it?!=?chunks_.end();?++it)
????{
??????assert(*it?!=?NULL);

??????size_t?s?=?(*it)->size();
??????if?(s?!=?0)
??????{
????????memcpy(&result[pos]?(*it)->c_str()?s

評論

共有 條評論