本文整理汇总了C++中Wrapper类的典型用法代码示例。如果您正苦于以下问题:C++ Wrapper类的具体用法?C++ Wrapper怎么用?C++ Wrapper使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Wrapper类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void Wrapper<Overkiz::UniversalUniqueIdentifier>::deserialize(Message::ConstIterator& iterator, Overkiz::UniversalUniqueIdentifier& val) const
{
std::string string;
Wrapper<std::string> wstring;
wstring.deserialize(iterator, string);
val.build(string);
}
示例2: String
void *Thread::ThreadCall(void *myWrapper)
{
Wrapper *wrapper = reinterpret_cast<Wrapper*>(myWrapper);
wrapper->thread->mRunning = true;
#ifdef PTW32_STATIC_LIB
pthread_win32_thread_attach_np();
#endif
try {
wrapper->call();
}
catch(const std::exception &e)
{
LogWarn("Thread::ThreadCall", String("Unhandled exception in thread: ") + e.what());
}
catch(...)
{
LogWarn("Thread::ThreadCall", String("Unhandled unknown exception in thread"));
}
delete wrapper;
wrapper->thread->mRunning = false;
#ifdef PTW32_STATIC_LIB
pthread_win32_thread_detach_np();
#endif
pthread_exit(NULL);
return NULL;
}
示例3: qmlbind_value_get_backref
qmlbind_backref qmlbind_value_get_backref(qmlbind_value self)
{
Wrapper *obj = dynamic_cast<Wrapper *>(self->toQObject());
if (!obj) {
return 0;
}
return obj->backref().backref();
}
示例4: CallBS
double CallBS(const Wrapper<Parameter>& r, const Wrapper<Parameter>& sig, double Expiry,double Spot, double Strike)
{
double d1,d2;
d1=1./(sig->Mean(1,2)*sqrt(Expiry)) * ( log(Spot/Strike) + (r->Mean(1,2) + .5 * sig->Mean(1,2) * sig->Mean(1,2) ) * Expiry);
d2=1./(sig->Mean(1,2)*sqrt(Expiry)) * ( log(Spot/Strike) + (r->Mean(1,2) - .5 * sig->Mean(1,2) * sig->Mean(1,2) ) * Expiry);
double ans = CumulativeNormal(d1) * Spot - CumulativeNormal(d2) * Strike * exp(-r->Mean(1,2) * Expiry);
return ans;
}
示例5: JS_UNLIKELY
js::UnwrapOneChecked(JSObject *obj, bool stopAtOuter)
{
if (!obj->isWrapper() ||
JS_UNLIKELY(!!obj->getClass()->ext.innerObject && stopAtOuter))
{
return obj;
}
Wrapper *handler = Wrapper::wrapperHandler(obj);
return handler->isSafeToUnwrap() ? Wrapper::wrappedObject(obj) : NULL;
}
示例6: JS_UNLIKELY
js::UnwrapOneChecked(RawObject obj)
{
// Checked unwraps should never unwrap outer windows.
if (!obj->isWrapper() ||
JS_UNLIKELY(!!obj->getClass()->ext.innerObject))
{
return obj;
}
Wrapper *handler = Wrapper::wrapperHandler(obj);
return handler->isSafeToUnwrap() ? Wrapper::wrappedObject(obj) : NULL;
}
示例7: main
int main()
{
int x = 7, y = 4;
Wrapper<int> w = x;
std::cout << x << " " << y << std::endl;
w.t = 2;
std::cout << x << " " << y << std::endl;
w.rebind(y);
std::cout << x << " " << y << std::endl;
w.t = 14;
std::cout << x << " " << y << std::endl;
}
示例8: ptr
Ref<Object> Frame::unwrap(Frame * frame) {
Object * function;
frame->extract()(function, "function");
Wrapper * wrapper = ptr(function).as<Wrapper>();
if (wrapper) {
return wrapper->value();
} else {
return new(frame) Unwrapper(Cell::create(frame)(frame->sym("value"))(function));
}
}
示例9: main
int main()
{
Wrapper<Foo> wrap;
{
std::cout << "before foo" << std::endl;
wrap->foo();
std::cout << "after foo" << std::endl;
}
{
std::cout << "before cfoo" << std::endl;
wrap->cfoo();
std::cout << "after cfoo" << std::endl;
}
}
示例10: assert
void Context::put(Control *control) {
auto iter = std::find_if(m_controls.begin(), m_controls.end(),
[control](Wrapper *w) { return w->control() == control; });
assert(iter != m_controls.end());
Wrapper *w = *iter;
w->unref();
if (w->refCount() == 0) {
m_controls.remove(w);
m_plugin->hal()->put(w->control());
delete w;
}
}
示例11: while
js::UnwrapObjectChecked(JSContext *cx, JSObject *obj)
{
while (obj->isWrapper() &&
!JS_UNLIKELY(!!obj->getClass()->ext.innerObject)) {
JSObject *wrapper = obj;
Wrapper *handler = Wrapper::wrapperHandler(obj);
bool rvOnFailure;
if (!handler->enter(cx, wrapper, JSID_VOID,
Wrapper::PUNCTURE, &rvOnFailure))
return rvOnFailure ? obj : NULL;
obj = Wrapper::wrappedObject(obj);
JS_ASSERT(obj);
}
return obj;
}
示例12: Times
ExoticBSEngine::ExoticBSEngine(const Wrapper<PathDependent>& TheProduct_,
const Parameters& R_,
const Parameters& D_,
const Parameters& Vol_,
const Wrapper<RandomBase>& TheGenerator_,
double Spot_)
:
ExoticEngine(TheProduct_,R_),
TheGenerator(TheGenerator_)
{
MJArray Times(TheProduct_->GetLookAtTimes());
NumberOfTimes = Times.size();
TheGenerator->ResetDimensionality(NumberOfTimes);
// Here is the place for change of models for different products
Drifts.resize(NumberOfTimes);
StandardDeviations.resize(NumberOfTimes);
double Variance = Vol_.IntegralSquare(0,Times[0]);
Drifts[0] = R_.Integral(0.0,Times[0]) - D_.Integral(0.0,Times[0]) - 0.5 * Variance;
StandardDeviations[0] = sqrt(Variance);
// here calculates the r*dt sigma*dw
for (unsigned long j=1; j < NumberOfTimes; ++j)
{
double thisVariance = Vol_.IntegralSquare(Times[j-1],Times[j]);
Drifts[j] = R_.Integral(Times[j-1],Times[j]) - D_.Integral(Times[j-1],Times[j])
- 0.5 * thisVariance;
StandardDeviations[j] = sqrt(thisVariance);
}
LogSpot = log(Spot_);
Variates.resize(NumberOfTimes);
}
示例13: scoped_attributes_t
scoped_attributes_t(
Wrapper& wrapper,
attribute::set_t attributes,
typename std::enable_if<
!std::is_base_of<logger_base_t, Wrapper>::value
>::type* = 0
) :
scoped_attributes_concept_t(wrapper.log()),
m_guard_attributes(std::move(attributes))
{}
示例14: main
DT main(DT argc, char *argv[]) {
//x.setRecalcFunc();
//y.setRecalcFunc(&recalcY);
//z.setRecalcFunc(&recalcZ);
/* a = 0
* b = 0
* a + b -> sum
*/
cout << "Init 1" << endl;
Wrapper<DT> a = 0;
Wrapper<DT> b = 0;
DT sum = 0;
cout << "Init 2" << endl;
ptrA = &a;
ptrB = &b;
ptrSum = ∑
cout << "Init 3" << endl;
a.onChange(&aChanged);
b.onChange(&bChanged);
cout << "Init 4" << endl;
a = 7;
b = 14;
/*
Wrapper<DT> x = a + b;
Wrapper<DT> y = c - d;
DT z = x * y;
*/
// 462
// 336
cout << "Init 5" << endl;
cout << sum << endl;
// gettimeofday(&startTime, 0);
/*seconds = endTime.tv_sec - startTime.tv_sec;
useconds = endTime.tv_usec - startTime.tv_usec;
mtimeMT = ((seconds) * 1000 + useconds/1000.0) + 0.5;*/
}
示例15:
void _3dsLoader::readObjectMaterial(Chunk ¤tChunk, Wrapper &model, Mesh *mesh) const
{
ASSERT(currentChunk.getID()==OBJECT_MATERIAL, "Expected chunk ID OBJECT_MATERIAL");
char materialName[255] = {0};
currentChunk.getString(materialName);
mesh->material = model.getMaterial(materialName);
// We don't care about shared vertices, so skip the rest
}