|
virtual void | add (std::size_t obj_id, std::vector< std::unique_ptr< Attribute >> attribs) override |
|
virtual std::vector< std::size_t > | query (const std::vector< std::unique_ptr< Attribute >> &conds) override |
|
virtual void | set (std::size_t obj_id, std::vector< std::unique_ptr< Attribute >> attribs) override |
|
Definition at line 56 of file TheWarehouse.C.
◆ add()
virtual void VecStore::add |
( |
std::size_t |
obj_id, |
|
|
std::vector< std::unique_ptr< Attribute >> |
attribs |
|
) |
| |
|
inlineoverridevirtual |
Implements WarehouseStorage.
Definition at line 59 of file TheWarehouse.C.
61 std::lock_guard<std::mutex> l(
_mutex);
62 if (obj_id !=
_data.size())
63 throw std::runtime_error(
"object with id " + std::to_string(obj_id) +
" already added");
64 _data.push_back(std::move(attribs));
std::vector< std::vector< std::unique_ptr< Attribute > > > _data
◆ query()
virtual std::vector<std::size_t> VecStore::query |
( |
const std::vector< std::unique_ptr< Attribute >> & |
conds | ) |
|
|
inlineoverridevirtual |
Implements WarehouseStorage.
Definition at line 68 of file TheWarehouse.C.
70 std::vector<std::size_t> ids;
71 std::lock_guard<std::mutex> l(
_mutex);
72 for (std::size_t i = 0; i <
_data.size(); i++)
74 auto & data =
_data[i];
76 for (
auto & cond : conds)
78 if (!data[cond->id()]->isMatch(*cond))
86 mooseAssert(std::find(ids.begin(), ids.end(), i) == ids.end(),
"Duplicate object");
std::vector< std::vector< std::unique_ptr< Attribute > > > _data
◆ set()
virtual void VecStore::set |
( |
std::size_t |
obj_id, |
|
|
std::vector< std::unique_ptr< Attribute >> |
attribs |
|
) |
| |
|
inlineoverridevirtual |
Implements WarehouseStorage.
Definition at line 93 of file TheWarehouse.C.
95 if (obj_id >
_data.size())
96 throw std::runtime_error(
"unknown object id " + std::to_string(obj_id));
98 std::lock_guard<std::mutex> l(
_mutex);
100 auto & dst =
_data[obj_id];
101 for (
auto & attrib : attribs)
102 dst[attrib->id()] = std::move(attrib);
std::vector< std::vector< std::unique_ptr< Attribute > > > _data
◆ _data
std::vector<std::vector<std::unique_ptr<Attribute> > > VecStore::_data |
|
private |
◆ _mutex
std::mutex VecStore::_mutex |
|
private |
The documentation for this class was generated from the following file: