Better comments

Signed-off-by: Igor Zaworski <izaworski@internships.antmicro.com>
This commit is contained in:
Igor Zaworski 2026-01-20 12:38:58 +01:00
parent 37e5c7030c
commit 03024f3cef
1 changed files with 10 additions and 20 deletions

View File

@ -1931,36 +1931,26 @@ public:
VlClassRef(VlNull) {};
template <typename... T_Args>
VlClassRef(VlDeleter& deleter, T_Args&&... args)
// () required here to avoid narrowing conversion warnings,
// when a new() has an e.g. CData type and passed a 1U.
: m_objp{new T_Class} {
// Instantly init the object to presevrve RAII
m_objp->init(std::forward<T_Args>(args)...);
// refCountInc was moved to the constructor of T_Class
// to fix self references in constructor.
m_objp->m_deleterp = &deleter;
}
VlClassRef(VlDeleter& deleter, T_Class&& args)
// () required here to avoid narrowing conversion warnings,
// when a new() has an e.g. CData type and passed a 1U.
// Move constructor
: m_objp{new T_Class{std::forward<T_Class>(args)}} {
// refCountInc was moved to the constructor of T_Class
// to fix self references in constructor.
m_objp->m_deleterp = &deleter;
}
VlClassRef(VlDeleter& deleter, const T_Class&& args)
// () required here to avoid narrowing conversion warnings,
// when a new() has an e.g. CData type and passed a 1U.
: m_objp{new T_Class{std::forward<T_Class>(args)}} {
// refCountInc was moved to the constructor of T_Class
// to fix self references in constructor.
VlClassRef(VlDeleter& deleter, const T_Class& args)
// Copy constructor
: m_objp{new T_Class{args}} {
m_objp->m_deleterp = &deleter;
}
VlClassRef(VlDeleter& deleter, T_Class args)
// () required here to avoid narrowing conversion warnings,
// when a new() has an e.g. CData type and passed a 1U.
: m_objp{new T_Class{std::move(args)}} {
// refCountInc was moved to the constructor of T_Class
// to fix self references in constructor.
VlClassRef(VlDeleter& deleter, T_Class& args)
// Copy constructor - this is required since if `T_Class&`
// will be provided a compilator will match it to the constructor
// with variading template inetead of `T_Class&&`
: m_objp{new T_Class{args}} {
m_objp->m_deleterp = &deleter;
}
// Explicit to avoid implicit conversion from 0