BLI: simplify naming of listbase wrapper

This commit is contained in:
Jacques Lucke 2020-04-21 17:38:19 +02:00
parent 3059353b38
commit 29e9506a7f
4 changed files with 10 additions and 13 deletions

@ -29,17 +29,17 @@
namespace BLI {
template<typename T> class IntrusiveListBaseWrapper {
template<typename T> class ListBaseWrapper {
private:
ListBase *m_listbase;
public:
IntrusiveListBaseWrapper(ListBase *listbase) : m_listbase(listbase)
ListBaseWrapper(ListBase *listbase) : m_listbase(listbase)
{
BLI_assert(listbase);
}
IntrusiveListBaseWrapper(ListBase &listbase) : IntrusiveListBaseWrapper(&listbase)
ListBaseWrapper(ListBase &listbase) : ListBaseWrapper(&listbase)
{
}

@ -130,13 +130,10 @@ template<typename T, uint N = 4, typename Allocator = GuardedAllocator> class Ve
/**
* Create a vector from a ListBase.
*/
Vector(ListBase &values, bool intrusive_next_and_prev_pointers) : Vector()
Vector(ListBase &values) : Vector()
{
BLI_assert(intrusive_next_and_prev_pointers);
if (intrusive_next_and_prev_pointers) {
for (T value : IntrusiveListBaseWrapper<typename std::remove_pointer<T>::type>(values)) {
this->append(value);
}
for (T value : ListBaseWrapper<typename std::remove_pointer<T>::type>(values)) {
this->append(value);
}
}

@ -53,7 +53,7 @@
using BLI::Array;
using BLI::ArrayRef;
using BLI::IndexRange;
using BLI::IntrusiveListBaseWrapper;
using BLI::ListBaseWrapper;
using BLI::MutableArrayRef;
using BLI::Vector;
@ -93,7 +93,7 @@ static void compute_vertex_mask__armature_mode(MDeformVert *dvert,
/* Element i is true if there is a selected bone that uses vertex group i. */
Vector<bool> selected_bone_uses_group;
for (bDeformGroup *def : IntrusiveListBaseWrapper<bDeformGroup>(ob->defbase)) {
for (bDeformGroup *def : ListBaseWrapper<bDeformGroup>(ob->defbase)) {
bPoseChannel *pchan = BKE_pose_channel_find_name(armature_ob->pose, def->name);
bool bone_for_group_exists = pchan && pchan->bone && (pchan->bone->flag & BONE_SELECTED);
selected_bone_uses_group.append(bone_for_group_exists);

@ -45,7 +45,7 @@ struct TestListValue {
int value;
};
TEST(vector, IntrusiveListBaseConstructor)
TEST(vector, ListBaseConstructor)
{
TestListValue *value1 = new TestListValue{0, 0, 4};
TestListValue *value2 = new TestListValue{0, 0, 5};
@ -55,7 +55,7 @@ TEST(vector, IntrusiveListBaseConstructor)
BLI_addtail(&list, value1);
BLI_addtail(&list, value2);
BLI_addtail(&list, value3);
Vector<TestListValue *> vec(list, true);
Vector<TestListValue *> vec(list);
EXPECT_EQ(vec.size(), 3);
EXPECT_EQ(vec[0]->value, 4);