本文整理汇总了C++中array::Ptr::size方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::size方法的具体用法?C++ Ptr::size怎么用?C++ Ptr::size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类array::Ptr
的用法示例。
在下文中一共展示了Ptr::size方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pocoUri
vector<shared_ptr<FDSBucket> > GalaxyFDSClient::listBuckets() {
string uri = formatUri(_pConfig->getBaseUri(), "", _emptySubResources);
URI pocoUri(uri);
shared_ptr<HTTPClientSession> pSession(_pSessionFacotry
->createClientSession(pocoUri));
pSession->setHost(pocoUri.getHost());
pSession->setPort(pocoUri.getPort());
HTTPRequest request(HTTPRequest::HTTP_GET, uri, HTTPMessage::HTTP_1_1);
prepareRequestHeaders(uri, HTTPRequest::HTTP_GET, "", _emptyStream,
*_pEmptyMetadata, request);
HTTPResponse response;
ostream& os = pSession->sendRequest(request);
istream& rs = pSession->receiveResponse(response);
if (response.getStatus() != HTTPResponse::HTTP_OK) {
stringstream msg;
msg << "List buckets failed, status=" << response.getStatus() << ", reason=";
StreamCopier::copyStream(rs, msg);
throw GalaxyFDSClientException(response.getStatus(), msg.str());
}
vector<shared_ptr<FDSBucket> > res;
Parser parser;
parser.parse(rs);
Var result = parser.result();
Object::Ptr pObject = result.extract<Object::Ptr>();
Object::Ptr pOwnerObject = pObject->getObject("owner");
stringstream ss;
pOwnerObject->stringify(ss);
shared_ptr<Owner> pOwner = Owner::deserialize(ss);
Array::Ptr pBucketsArray = pObject->getArray("buckets");
for (size_t i = 0; i < pBucketsArray->size(); i++) {
string bucketName = pBucketsArray->getObject(i)->getValue<string>("name");
shared_ptr<FDSBucket> pBucket(new FDSBucket(bucketName));
pBucket->setOwner(*pOwner);
res.push_back(pBucket);
}
return res;
}
示例2: ReadFromJSON
void RandomVar::ReadFromJSON(const char* fileName) {
Parser loParser;
std::ifstream t(fileName);
std::stringstream buffer;
buffer << t.rdbuf();
string json = buffer.str();
// Parse the JSON and get the Results
Poco::Dynamic::Var loParsedJson = loParser.parse(json);
Poco::Dynamic::Var loParsedJsonResult = loParser.result();
// Random variable data are an array of objects
//[
// {"value": 1, "probability" : 0.2, "cumulative" : 0.2},
// {"value": 2, "probability" : 0.2, "cumulative" : 0.4},
// {"value": 3, "probability" : 0.2, "cumulative" : 0.6},
// {"value": 4, "probability" : 0.2, "cumulative" : 0.8},
// {"value": 5, "probability" : 0.2, "cumulative" : 1.0}
//]
Array::Ptr arr = loParsedJsonResult.extract<Array::Ptr>();
size_t size = arr->size();
m_P.resize(size);
m_C.resize(size);
m_X.resize(size);
// Individual data rows
Object::Ptr object;
for (size_t i = 0; i < size; i++) {
object = arr->getObject(i);
this->setX(i, object->getValue<double>("value"));
this->setP(i, object->getValue<double>("probability"));
this->setC(i, object->getValue<double>("cumulative"));
}
return;
}
示例3: testNestedArray
void JSONTest::testNestedArray()
{
std::string json = "[[[[]]]]";
Parser parser;
Var result;
try
{
DefaultHandler handler;
parser.setHandler(&handler);
parser.parse(json);
result = handler.result();
}
catch(JSONException& jsone)
{
std::cout << jsone.message() << std::endl;
assert(false);
}
assert(result.type() == typeid(Array::Ptr));
Array::Ptr array = result.extract<Array::Ptr>();
assert(array->size() == 1);
}