载入中...
搜索中...
未找到
Social.cpp
浏览该文件的文档.
23bool Social::setOwner(const std::string& entity, const std::string& owner) { return graph_.setOwner(entity, owner); }
28std::string Social::ownerOfInt(int entity) const { return graph_.ownerOf(SocialGraph::integerId(entity)); }
29int Social::ownedCount(const std::string& owner) const { return static_cast<int>(graph_.ownedBy(owner).size()); }
30std::string Social::ownedAt(const std::string& owner, int index) const { return at(graph_.ownedBy(owner), index); }
38std::string Social::controllerOf(const std::string& entity) const { return graph_.controllerOf(entity); }
39std::string Social::controllerOfInt(int entity) const { return graph_.controllerOf(SocialGraph::integerId(entity)); }
47bool Social::assign(const std::string& source, const std::string& role, const std::string& target) {
53bool Social::unassign(const std::string& source, const std::string& role, const std::string& target) {
56bool Social::isAssigned(const std::string& source, const std::string& role, const std::string& target) const {
62std::string Social::targetAt(const std::string& source, const std::string& role, int index) const {
68std::string Social::assigneeAt(const std::string& target, const std::string& role, int index) const {
76 return graph_.setRelation(SocialGraph::integerId(source), SocialGraph::integerId(target), type, value);
78float Social::addRelation(const std::string& source, const std::string& target, const std::string& type, float delta) {
81bool Social::link(const std::string& source, const std::string& target, const std::string& type) {
84bool Social::removeRelation(const std::string& source, const std::string& target, const std::string& type) {
87bool Social::hasRelation(const std::string& source, const std::string& target, const std::string& type) const {
90float Social::relation(const std::string& source, const std::string& target, const std::string& type,
94int Social::relationTargetCount(const std::string& source, const std::string& type, float minimum) const {
97std::string Social::relationTargetAt(const std::string& source, const std::string& type, float minimum,
101int Social::relationSourceCount(const std::string& target, const std::string& type, float minimum) const {
104std::string Social::relationSourceAt(const std::string& target, const std::string& type, float minimum,
110bool Social::removeEntityInt(int entity) { return graph_.removeEntity(SocialGraph::integerId(entity)); }
bool assign(const EntityId &source, const std::string &role, const EntityId &target)
Adds a role-based source-to-target assignment.
Definition SocialGraph.cpp:86
EntityId controllerOf(const EntityId &entity) const
Returns an entity's controller, or an empty string when absent.
Definition SocialGraph.cpp:76
bool link(const EntityId &source, const EntityId &target, const std::string &type)
Creates a directed typed relation with weight 1.
Definition SocialGraph.cpp:140
std::vector< EntityId > ownedBy(const EntityId &owner) const
Returns entities owned by owner in deterministic ID order.
Definition SocialGraph.cpp:56
bool setOwner(const EntityId &entity, const EntityId &owner)
Sets an entity's owner; an empty owner removes ownership.
Definition SocialGraph.cpp:36
static EntityId integerId(std::int64_t id)
Converts a stable integer ID to its canonical graph key.
Definition SocialGraph.cpp:20
double addRelation(const EntityId &source, const EntityId &target, const std::string &type, double delta)
Adds delta to a directed typed relation and returns its new weight.
Definition SocialGraph.cpp:134
std::vector< EntityId > controlledBy(const EntityId &controller) const
Returns entities controlled by controller in deterministic ID order.
Definition SocialGraph.cpp:81
bool setRelation(const EntityId &source, const EntityId &target, const std::string &type, double value)
Sets a directed typed relation weight, creating the edge if needed.
Definition SocialGraph.cpp:121
bool unassign(const EntityId &source, const std::string &role, const EntityId &target)
Removes a role-based source-to-target assignment.
Definition SocialGraph.cpp:96
bool setController(const EntityId &entity, const EntityId &controller)
Sets an entity's controller; an empty controller removes control.
Definition SocialGraph.cpp:61
std::vector< EntityId > targetsOf(const EntityId &source, const std::string &role) const
Returns targets assigned from source with role in deterministic order.
Definition SocialGraph.cpp:111
bool removeEntity(const EntityId &entity)
Removes an entity and every incoming/outgoing graph reference to it.
Definition SocialGraph.cpp:188
std::vector< EntityId > assigneesOf(const EntityId &target, const std::string &role) const
Returns sources assigned to target with role in deterministic order.
Definition SocialGraph.cpp:116
EntityId ownerOf(const EntityId &entity) const
Returns an entity's owner, or an empty string when absent.
Definition SocialGraph.cpp:51
bool removeRelation(const EntityId &source, const EntityId &target, const std::string &type)
Removes an exact directed typed relation.
Definition SocialGraph.cpp:144
bool isAssigned(const EntityId &source, const std::string &role, const EntityId &target) const
Tests whether an exact assignment exists.
Definition SocialGraph.cpp:106
double relation(const EntityId &source, const EntityId &target, const std::string &type, double fallback=0.0) const
Gets an exact relation weight, or fallback when absent.
Definition SocialGraph.cpp:160
std::vector< EntityId > relationTargets(const EntityId &source, const std::string &type, double minimum=0.0) const
Returns outgoing relation targets filtered by type and minimum weight.
Definition SocialGraph.cpp:166
bool hasRelation(const EntityId &source, const EntityId &target, const std::string &type) const
Tests whether an exact directed typed relation exists.
Definition SocialGraph.cpp:156
const std::vector< SocialChangeEvent > & events() const
Returns queued mutation events in sequence order.
Definition SocialGraph.h:88
std::vector< EntityId > relationSources(const EntityId &target, const std::string &type, double minimum=0.0) const
Returns incoming relation sources filtered by type and minimum weight.
Definition SocialGraph.cpp:177
bool removeEntityInt(int entity)
Removes an integer-ID entity and every graph reference to it.
Definition Social.cpp:110
std::string controllerOfInt(int entity) const
Gets controller of an integer ID as a canonical key.
Definition Social.cpp:39
std::string relationSourceAt(const std::string &target, const std::string &type, float minimum, int index) const
Gets incoming relation source by deterministic filtered index.
Definition Social.cpp:104
int ownedCount(const std::string &owner) const
Gets count of deterministically ordered entities owned by owner.
Definition Social.cpp:29
bool unassign(const std::string &source, const std::string &role, const std::string &target)
Removes an exact assignment.
Definition Social.cpp:53
int relationTargetCount(const std::string &source, const std::string &type, float minimum) const
Gets outgoing relation target count after threshold filtering.
Definition Social.cpp:94
std::string relationTargetAt(const std::string &source, const std::string &type, float minimum, int index) const
Gets outgoing relation target by deterministic filtered index.
Definition Social.cpp:97
std::string ownerOf(const std::string &entity) const
Gets owner of a string ID.
Definition Social.cpp:27
bool assign(const std::string &source, const std::string &role, const std::string &target)
Adds a role-based assignment between string IDs.
Definition Social.cpp:47
std::string targetAt(const std::string &source, const std::string &role, int index) const
Gets an assignment target by deterministic index.
Definition Social.cpp:62
std::string controllerOf(const std::string &entity) const
Gets controller of a string ID.
Definition Social.cpp:38
bool setController(const std::string &entity, const std::string &controller)
Sets control between string IDs.
Definition Social.cpp:32
bool setRelation(const std::string &source, const std::string &target, const std::string &type, float value)
Sets a directed typed relation between string IDs.
Definition Social.cpp:72
bool setRelationInt(int source, int target, const std::string &type, float value)
Sets a directed typed relation between integer IDs.
Definition Social.cpp:75
int eventSequence(int index) const
Gets event sequence by index, or zero when out of range.
Definition Social.cpp:114
std::string controlledAt(const std::string &controller, int index) const
Gets a controlled entity by deterministic index.
Definition Social.cpp:43
bool removeEntity(const std::string &entity)
Removes a string-ID entity and every graph reference to it.
Definition Social.cpp:109
int targetCount(const std::string &source, const std::string &role) const
Gets target count for source and role.
Definition Social.cpp:59
bool isAssigned(const std::string &source, const std::string &role, const std::string &target) const
Tests an exact assignment.
Definition Social.cpp:56
bool hasRelation(const std::string &source, const std::string &target, const std::string &type) const
Tests an exact relation.
Definition Social.cpp:87
bool removeRelation(const std::string &source, const std::string &target, const std::string &type)
Removes an exact relation.
Definition Social.cpp:84
int assigneeCount(const std::string &target, const std::string &role) const
Gets assignee count for target and role.
Definition Social.cpp:65
int relationSourceCount(const std::string &target, const std::string &type, float minimum) const
Gets incoming relation source count after threshold filtering.
Definition Social.cpp:101
int controlledCount(const std::string &controller) const
Gets count of deterministically ordered controlled entities.
Definition Social.cpp:40
std::string assigneeAt(const std::string &target, const std::string &role, int index) const
Gets an assignee by deterministic index.
Definition Social.cpp:68
bool assignInt(int source, const std::string &role, int target)
Adds a role-based assignment between integer IDs.
Definition Social.cpp:50
std::string ownedAt(const std::string &owner, int index) const
Gets an owned entity by deterministic index.
Definition Social.cpp:30
bool setControllerInt(int entity, int controller)
Sets control between integer IDs.
Definition Social.cpp:35
std::string idFromInt(int id) const
Returns the canonical graph key for an integer entity ID.
Definition Social.cpp:21
float relation(const std::string &source, const std::string &target, const std::string &type, float fallback) const
Gets relation value or fallback.
Definition Social.cpp:90
std::string ownerOfInt(int entity) const
Gets owner of an integer ID as a canonical key.
Definition Social.cpp:28
bool setOwner(const std::string &entity, const std::string &owner)
Sets ownership between string IDs.
Definition Social.cpp:23
float addRelation(const std::string &source, const std::string &target, const std::string &type, float delta)
Adds to a relation and returns its new value.
Definition Social.cpp:78
bool link(const std::string &source, const std::string &target, const std::string &type)
Creates a weight-one directed typed relation.
Definition Social.cpp:81
Definition SocialDocument.h:13