211 struct less<ML_NAMESPACE::BaseContainerItem>
215 less(ML_NAMESPACE::BaseListSortParameters* sortParams) {
220 bool operator()(
const ML_NAMESPACE::BaseContainerItem &x,
const ML_NAMESPACE::BaseContainerItem &y)
const
223 if (!x.getConstObjectPointer()) {
return false; }
224 if (!y.getConstObjectPointer()) {
return true; }
229 return _sortParams->isLessThan(*x.getConstObjectPointer(), *y.getConstObjectPointer());
Base object class BaseContainerItem encapsulates a pointer to a Base object as a list item.
void _setObjectPointer(Base *objectP, bool isOwner=true)
BaseContainerItem & operator=(const BaseContainerItem &other)
~BaseContainerItem() override
static BaseContainerItem * toBaseContainerItem(Base &baseObj, MLssize_t id=0, const char *name=nullptr)
void setPersistentState(const std::string &state) override
Initialize the item object from the string state.
bool _baseObjectIsRefCounted
virtual Base * getObjectPointer() const
virtual Base * removeObjectPointer()
void readStateFromTree(TreeNode *parent) override
Reads the object state from the children of the given parent node.
void addStateToTree(TreeNode *parent) const override
Attaches the object state as children of the given parent node.
Base * _baseObjectP
Pointer to the actual object:
ML_SET_ADDSTATE_VERSION(0)
Set addState version number.
virtual const Base * getConstObjectPointer() const
Returns a const pointer to the contained base object.
BaseContainerItem(MLssize_t idParam, const char *nameParam=nullptr, Base *baseP=nullptr)
When assigning a base object, you should also provide a name.
BaseContainerItem(const BaseContainerItem &other, bool useDeepCopy=false)
BaseContainerItem(BaseContainerItem &&other) noexcept
virtual void setObject(Base &object)
virtual BaseContainerItem & copyFrom(const BaseContainerItem &other, bool performDeepCopy=true)
std::string persistentState() const override
BaseItem()
Default constructor.
const char * name() const
Get name.
Class that is designed to hold custom list sorting parameters (such as sort mode).
virtual bool isLessThan(const Base &, const Base &)=0
Pure virtual comparison function.
virtual ~BaseListSortParameters()
virtual destructor
BaseList(const BaseList &other)
BaseList()
Constructor, enables persistence.
BaseList * deepCopy() const override
Create a deep copy of the list.
#define MLBASEEXPORT
defined Header file mlBaseInit.h
#define ML_CLASS_HEADER(className)
SSIZE_T MLssize_t
The signed ML size type that is a signed 32-bit size_t on 32-bit platforms and 64-bit one on 64-bit p...
bool operator()(const ml::BaseContainerItem &x, const ml::BaseContainerItem &y) const
comparison operator
ml::BaseListSortParameters * _sortParams
sort mode
less(ml::BaseListSortParameters *sortParams)