本文整理汇总了C++中DynamicObject::hasAttribute方法的典型用法代码示例。如果您正苦于以下问题:C++ DynamicObject::hasAttribute方法的具体用法?C++ DynamicObject::hasAttribute怎么用?C++ DynamicObject::hasAttribute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DynamicObject
的用法示例。
在下文中一共展示了DynamicObject::hasAttribute方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main() {
cout << "Hello world !" << endl;
DynamicObject toto = DynamicObject("toto");
shared_ptr<Scalar<float> > pi( new Scalar<float>("float", 3.145) );
shared_ptr<Integer> age( new Integer(345) );
shared_ptr<Scalar<Glib::ustring> > phrase ( new Scalar<Glib::ustring>("string", "c'etait un cafard qui vivait dans le noir") );
toto.setAttribute( Glib::ustring("pi"), pi);
toto.setAttribute( "phrase", phrase);
toto.setAttribute( "age", age);
cout << (*pi)() << endl;
cout << (*phrase)() << endl;
cout << "Toto has attribute 'pi' : " << toto.hasAttribute("pi") << endl;
cout << "Toto has attribute 'phrase' : " << toto.hasAttribute("phrase") << endl;
cout << "Toto has attribute 'tournoyant' : " << toto.hasAttribute("tournoyant") << endl;
const Glib::ustring pi_name("pi");
shared_ptr<Scalar<float> > pi2 = toto.getAttribute< Scalar<float> > (pi_name);
shared_ptr<Scalar<Glib::ustring> > phrase2 = toto.getAttribute< Scalar<Glib::ustring> > ("phrase");
cout << "Get attribute 'pi' : " << *pi2 << endl;
cout << "Get attribute 'phrase' : " << *phrase2 << endl;
try
{
shared_ptr<Scalar<Glib::ustring> > phrase3 = toto.getAttribute< Scalar<Glib::ustring> > ("aioli");
}
catch(Glib::ustring e)
{
cout << e << endl;
}
cout << endl << "Serializationed (I'am sure it exists :) toto : " << endl;
shared_ptr<xmlpp::Document> output = toto.serializeXML();
cout << output->write_to_string_formatted() << endl;
SourceFile sf("./");
shared_ptr<IStream> stream = sf.loadStream("testpo.cpp");
unsigned int bytesRead = 0;
while (!stream->eof())
{
char buffer[256];
unsigned int nbRead = stream->read(buffer, 255);
buffer[nbRead] = 0;
// cout << buffer;
bytesRead += nbRead;
}
stream->close();
cout << endl << "Bytes Read : " << bytesRead << endl;
sf.setOverWrite(true);
shared_ptr<IStream> streamW = sf.saveStream("testpo.cppW");
unsigned int bytesWritten = streamW->write("Jesuislorsdelajusticeetdel'emeriteca\nvalier", 40);
streamW->close();
cout << endl << "Bytes Written : " << bytesWritten << endl;
shared_ptr<ISource> loadChannel(new SourceFile(".", false));
shared_ptr<ISource> saveChannel(new SourceFile(".", true));
DynamicObjectManager *pom = DynamicObjectManager::getInstancePtr();
pom->addLoadSource(loadChannel);
pom->addSaveSource(saveChannel);
shared_ptr<DynamicObject> Zelda = pom->load("zelda");
shared_ptr<Integer> ageZelda = Zelda->getAttribute< Integer > ("age");
shared_ptr<Integer> newAge(new Integer((*ageZelda)() + 1));
Zelda->setAttribute("age2", newAge);
try
{
shared_ptr< Float > piZelda = Zelda->getAttribute< Float > ("pi");
cout << "Float pi**2 zelda : " << (*piZelda) * (*piZelda) << endl;
shared_ptr< String > nut = Zelda->getAttribute< String > ("nut");
cout << "Attribute nut = '" << *nut << "'" << endl;
//.........这里部分代码省略.........