DictEntryRef Class — pytorch Architecture
Architecture documentation for the DictEntryRef class in Dict.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/core/Dict.h lines 67–100
template<class Key, class Value, class Iterator>
class DictEntryRef final {
public:
explicit DictEntryRef(Iterator iterator)
: iterator_(std::move(iterator)) {}
decltype(auto) key() const {
return iterator_->first.template to<Key>();
}
decltype(auto) value() const {
return iterator_->second.template to<Value>();
}
template<class Value_>
void setValue(Value_&& value) const {
static_assert(std::is_constructible_v<Value, Value_>, "Wrong type for the value argument of setValue()");
iterator_->second = Value(std::forward<Value_>(value));
}
~DictEntryRef() = default;
private:
// allow copying and moving, but only our friends (i.e. the Dict class) can do
// it. Copying/moving this reference wrapper would be too ambiguous to allow it
// in the public API.
DictEntryRef(const DictEntryRef&) = default;
DictEntryRef& operator=(const DictEntryRef&) = default;
DictEntryRef(DictEntryRef&&) noexcept = default;
DictEntryRef& operator=(DictEntryRef&& rhs) & noexcept = default;
Iterator iterator_;
friend class DictIterator<Key, Value, Iterator>;
friend class Dict<Key, Value>;
};
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free