Diff
checker
टेक्स्ट
टेक्स्ट
छवियां
दस्तावेज़
Excel
फ़ोल्डर्स
Legal
Enterprise
डेस्कटॉप
मूल्य
साइन इन करें
Diffchecker डेस्कटॉप डाउनलोड करें
टेक्स्ट की तुलना करें
दो टेक्स्ट फ़ाइलों के बीच अंतर ढूंढें
उपकरण
इतिहास
रियल-टाइम एडिटर
अपरिवर्तित संक्षिप्त करें
लाइन रैप बंद
लेआउट
विभाजित
संयुक्त
परिवर्तन हाइलाइट करें
स्मार्ट
शब्द
अक्षर
सिंटैक्स हाइलाइटिंग
सिंटैक्स चुनें
अनदेखा करें
टेक्स्ट बदलें
पहले अंतर पर जाएँ
इनपुट संपादित करें
Diffchecker Desktop
Diffchecker चलाने का सबसे सुरक्षित तरीका। Diffchecker Desktop ऐप पाएं: आपके diffs कभी आपके कंप्यूटर से बाहर नहीं जाते!
Desktop पाएं
Untitled diff
बनाया गया
9 वर्ष पहले
Diff कभी समाप्त नहीं होता
साफ़
निर्यात करें
शेयर करें
समझाएं
16 हटाए गए
लाइनें
कुल
हटाया गया
अक्षर
कुल
हटाया गया
इस सुविधा का उपयोग जारी रखने के लिए, अपग्रेड करें
Diff
checker
Pro
मूल्य देखें
70 लाइनें
सभी को कॉपी करें
53 जोड़े गए
लाइनें
कुल
जोड़ा गया
अक्षर
कुल
जोड़ा गया
इस सुविधा का उपयोग जारी रखने के लिए, अपग्रेड करें
Diff
checker
Pro
मूल्य देखें
99 लाइनें
सभी को कॉपी करें
#include <iostream>
#include <iostream>
#include <memory>
#include <memory>
#include <Wt/Dbo/Dbo.h>
#include <Wt/Dbo/Dbo.h>
#include <Wt/Dbo/backend/Sqlite3.h>
#include <Wt/Dbo/backend/Sqlite3.h>
using namespace std;
using namespace std;
namespace dbo = Wt::Dbo;
namespace dbo = Wt::Dbo;
class EntityA
class EntityA
{
{
public:
public:
string name {"Jef"};
string name {"Jef"};
template<class Action>
template<class Action>
void persist(Action& a)
void persist(Action& a)
{
{
dbo::field(a, name, "name");
dbo::field(a, name, "name");
}
}
};
};
class EntityB
class EntityB
{
{
public:
public:
string name {"Jef Jr."};
string name {"Jef Jr."};
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
dbo::
ptr<EntityA> parent;
static shared_ptr<
dbo::
Session> session;
static void setSession(shared_ptr<dbo::Session> s)
{
session = s;
}
template<class Action>
template<class Action>
void persist(Action& a)
void persist(Action& a)
{
{
dbo::field(a, name, "name");
dbo::field(a, name, "name");
dbo::belongsTo(a, parent, "parent");
dbo::belongsTo(a, parent, "parent");
}
}
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
unique_ptr<EntityA> getParent() const
{
dbo::Transaction t{*session};
return make_unique<EntityA>(*parent);
}
void setParent(dbo::ptr<EntityA> p)
{
parent = p;
}
void setParent(unique_ptr<EntityA> p)
{
parent.reset(move(p));
}
private:
dbo::ptr<EntityA> parent {nullptr};
};
};
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
dbo::ptr<EntityB> getAnyB(
dbo::Session
&
session)
shared_ptr<dbo::Session> EntityB::session = nullptr;
dbo::ptr<EntityB> getAnyB(
shared_ptr<
dbo::Session
>
session)
{
{
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
dbo::Transaction t{
session};
dbo::Transaction t{
*
session};
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
return session
.
find<EntityB>().limit(1);
return session
->
find<EntityB>().limit(1);
}
}
int main()
int main()
{
{
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
dbo::Session
session
;
auto session = make_shared<
dbo::Session
>()
;
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
session
.
setConnection([](){
session
->
setConnection([](){
auto sqlite3 = make_unique<dbo::backend::Sqlite3>(":memory:");
auto sqlite3 = make_unique<dbo::backend::Sqlite3>(":memory:");
sqlite3->setProperty("show-queries", "true");
sqlite3->setProperty("show-queries", "true");
return move(sqlite3);
return move(sqlite3);
}());
}());
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
session
.
mapClass<EntityA>("entity_a");
session
->
mapClass<EntityA>("entity_a");
session
.
mapClass<EntityB>("entity_b");
session
->
mapClass<EntityB>("entity_b");
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
session
.
createTables();
session
->
createTables();
EntityB::setSession(session);
{
{
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
dbo::Transaction t{
session};
dbo::Transaction t{
*
session};
auto b = make_unique<EntityB>();
auto b = make_unique<EntityB>();
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
b->
p
arent
=
session
.
add(make_unique<EntityA>())
;
b->
setP
arent
(
session
.
add(move(b));
session
->
add(make_unique<EntityA>())
)
;
session
->
add(move(b));
}
}
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
//dbo::Transaction t{session}; // This "fixes" the problem, but it's VERY inconvenient
cout << getAnyB(session)->
getP
arent
()
->name;
cout << getAnyB(session)->
p
arent
->name;
// Exception: Dbo load(): no active transaction
return 0;
return 0;
}
}
सेव किए गए Diffs
ऑरिजनल टेक्स्ट
फ़ाइल खोलें
#include <iostream> #include <memory> #include <Wt/Dbo/Dbo.h> #include <Wt/Dbo/backend/Sqlite3.h> using namespace std; namespace dbo = Wt::Dbo; class EntityA { public: string name {"Jef"}; template<class Action> void persist(Action& a) { dbo::field(a, name, "name"); } }; class EntityB { public: string name {"Jef Jr."}; dbo::ptr<EntityA> parent; template<class Action> void persist(Action& a) { dbo::field(a, name, "name"); dbo::belongsTo(a, parent, "parent"); } }; dbo::ptr<EntityB> getAnyB(dbo::Session& session) { dbo::Transaction t{session}; return session.find<EntityB>().limit(1); } int main() { dbo::Session session; session.setConnection([](){ auto sqlite3 = make_unique<dbo::backend::Sqlite3>(":memory:"); sqlite3->setProperty("show-queries", "true"); return move(sqlite3); }()); session.mapClass<EntityA>("entity_a"); session.mapClass<EntityB>("entity_b"); session.createTables(); { dbo::Transaction t{session}; auto b = make_unique<EntityB>(); b->parent = session.add(make_unique<EntityA>()); session.add(move(b)); } //dbo::Transaction t{session}; // This "fixes" the problem, but it's VERY inconvenient cout << getAnyB(session)->parent->name; // Exception: Dbo load(): no active transaction return 0; }
परिवर्तित टेक्स्ट
फ़ाइल खोलें
#include <iostream> #include <memory> #include <Wt/Dbo/Dbo.h> #include <Wt/Dbo/backend/Sqlite3.h> using namespace std; namespace dbo = Wt::Dbo; class EntityA { public: string name {"Jef"}; template<class Action> void persist(Action& a) { dbo::field(a, name, "name"); } }; class EntityB { public: string name {"Jef Jr."}; static shared_ptr<dbo::Session> session; static void setSession(shared_ptr<dbo::Session> s) { session = s; } template<class Action> void persist(Action& a) { dbo::field(a, name, "name"); dbo::belongsTo(a, parent, "parent"); } unique_ptr<EntityA> getParent() const { dbo::Transaction t{*session}; return make_unique<EntityA>(*parent); } void setParent(dbo::ptr<EntityA> p) { parent = p; } void setParent(unique_ptr<EntityA> p) { parent.reset(move(p)); } private: dbo::ptr<EntityA> parent {nullptr}; }; shared_ptr<dbo::Session> EntityB::session = nullptr; dbo::ptr<EntityB> getAnyB(shared_ptr<dbo::Session> session) { dbo::Transaction t{*session}; return session->find<EntityB>().limit(1); } int main() { auto session = make_shared<dbo::Session>(); session->setConnection([](){ auto sqlite3 = make_unique<dbo::backend::Sqlite3>(":memory:"); sqlite3->setProperty("show-queries", "true"); return move(sqlite3); }()); session->mapClass<EntityA>("entity_a"); session->mapClass<EntityB>("entity_b"); session->createTables(); EntityB::setSession(session); { dbo::Transaction t{*session}; auto b = make_unique<EntityB>(); b->setParent( session->add(make_unique<EntityA>()) ); session->add(move(b)); } cout << getAnyB(session)->getParent()->name; return 0; }
अंतर खोजें