本文整理汇总了C++中BSONObjBuilder::appendCodeWScope方法的典型用法代码示例。如果您正苦于以下问题:C++ BSONObjBuilder::appendCodeWScope方法的具体用法?C++ BSONObjBuilder::appendCodeWScope怎么用?C++ BSONObjBuilder::appendCodeWScope使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BSONObjBuilder
的用法示例。
在下文中一共展示了BSONObjBuilder::appendCodeWScope方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: run
void run(){
Scope * s = globalScriptEngine->createScope();
{
BSONObjBuilder b;
b.append( "a" , 1 );
b.appendCode( "b" , "function(){ out.b = 11; }" );
b.appendCodeWScope( "c" , "function(){ out.c = 12; }" , BSONObj() );
b.appendCodeWScope( "d" , "function(){ out.d = 13 + bleh; }" , BSON( "bleh" << 5 ) );
s->setObject( "foo" , b.obj() );
}
s->invokeSafe( "out = {}; out.a = foo.a; foo.b(); foo.c();" , BSONObj() );
BSONObj out = s->getObject( "out" );
ASSERT_EQUALS( 1 , out["a"].number() );
ASSERT_EQUALS( 11 , out["b"].number() );
ASSERT_EQUALS( 12 , out["c"].number() );
//s->invokeSafe( "foo.d() " , BSONObj() );
//out = s->getObject( "out" );
//ASSERT_EQUALS( 18 , out["d"].number() );
delete s;
}