//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
std::vector<const BigMemoryObject *> getAllTheProgeny() const;
bool isObjectInTheProgeny(const BigMemoryObject *obj) const;
static std::size_t GetHeapMemorySizeOfObjs(const std::vector<const BigMemoryObject *>& objs);
std::vector<const BigMemoryObject *> getAllTheProgeny() const;
bool isObjectInTheProgeny(const BigMemoryObject *obj) const;
static std::size_t GetHeapMemorySizeOfObjs(const std::vector<const BigMemoryObject *>& objs);
virtual std::size_t getHeapMemorySizeWithoutChildren() const = 0;
virtual std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const = 0;
virtual std::size_t getHeapMemorySizeWithoutChildren() const = 0;
virtual std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const = 0;
virtual ~BigMemoryObject();
private:
static std::size_t GetHeapMemoryOfSet(std::set<const BigMemoryObject *>& s1, std::set<const BigMemoryObject *>& s2);
virtual ~BigMemoryObject();
private:
static std::size_t GetHeapMemoryOfSet(std::set<const BigMemoryObject *>& s1, std::set<const BigMemoryObject *>& s2);