[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] odd/any_member-opt ff0e80a 1/5: Remove unused any_me
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] odd/any_member-opt ff0e80a 1/5: Remove unused any_member<>::object_ field |
Date: |
Sun, 28 Mar 2021 13:53:15 -0400 (EDT) |
branch: odd/any_member-opt
commit ff0e80aac9b8f0ddfd631666e41bce0129461ee0
Author: Vadim Zeitlin <vadim@tt-solutions.com>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>
Remove unused any_member<>::object_ field
The pointer to the object containing the member is already stored in the
content_ field, there is no need to store it twice.
---
any_member.hpp | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/any_member.hpp b/any_member.hpp
index 1bd2a80..e747ec3 100644
--- a/any_member.hpp
+++ b/any_member.hpp
@@ -268,7 +268,6 @@ class any_member final
// any_entity required implementation.
any_member& assign(std::string const&) override;
- ClassType* object_;
placeholder* content_;
};
@@ -276,14 +275,12 @@ class any_member final
template<typename ClassType>
any_member<ClassType>::any_member()
- :object_ {nullptr}
- ,content_ {nullptr}
+ :content_ {nullptr}
{}
template<typename ClassType>
any_member<ClassType>::any_member(any_member const& other)
:any_entity {other}
- ,object_ {other.object_}
,content_ {other.content_ ? other.content_->clone() : nullptr}
{}
@@ -296,8 +293,7 @@ any_member<ClassType>::~any_member()
template<typename ClassType>
template<typename ValueType>
any_member<ClassType>::any_member(ClassType* object, ValueType const& value)
- :object_ {object}
- ,content_ {::new holder<ClassType,ValueType>(object, value)}
+ :content_ {::new holder<ClassType,ValueType>(object, value)}
{}
template<typename ClassType>
@@ -370,9 +366,10 @@ ExactMemberType* any_member<ClassType>::exact_cast()
typedef holder<ClassType,pmd_type> holder_type;
LMI_ASSERT(content_);
#if !defined LMI_MSC
- pmd_type pmd = static_cast<holder_type*>(content_)->held_;
- LMI_ASSERT(object_);
- return &(object_->*pmd);
+ holder_type* const holder = static_cast<holder_type*>(content_);
+ pmd_type pmd = holder->held_;
+ LMI_ASSERT(holder->object_);
+ return &(holder->object_->*pmd);
#else // defined LMI_MSC
return static_cast<ExactMemberType*>(content_->defraud());
#endif // defined LMI_MSC