| ## Public API Reference

- Main Page
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iCelPropertyClassList Struct Reference

A list of property classes. More...

`#include <physicallayer/propclas.h>`

List of all members.

## Public Member Functions
virtual size_t | Add (iCelPropertyClass *obj)=0
| Add a property class.
virtual size_t | Find (iCelPropertyClass *obj) const =0
| Find a property class and return its index.
virtual iBase * | FindByInterface (scfInterfaceID id, int version) const =0
| Find a property class by SCF interface.
virtual iBase * | FindByInterfaceAndTag (scfInterfaceID id, int version, const char *tag) const =0
| Find a property class by SCF interface and tag.
virtual iCelPropertyClass * | FindByName (const char *name) const =0
| Find a property class by name.
virtual iCelPropertyClass * | FindByNameAndTag (const char *name, const char *tag) const =0
| Find a property class by name and tag.
virtual iCelPropertyClass * | Get (size_t n) const =0
| Return a property class by index.
virtual size_t | GetCount () const =0
| Return the number of property classes in this list.
virtual bool | Remove (size_t n)=0
| Remove the nth property class.
virtual bool | Remove (iCelPropertyClass *obj)=0
| Remove a property class.
virtual void | RemoveAll ()=0
| Remove all property classes.
virtual bool | RemoveByInterface (scfInterfaceID scf_id, int iVersion)=0
| Remove all property classes with given interface (ignores tag).
virtual bool | RemoveByInterfaceAndTag (scfInterfaceID scf_id, int iVersion, const char *tag)=0
| Remove all property classes with given interface and with the given tag.

## Detailed Description

A list of property classes.

Definition at line 381 of file propclas.h.

## Member Function Documentation

virtual size_t iCelPropertyClassList::Add | ( | iCelPropertyClass * | obj | ) | `[pure virtual]`

Add a property class.

virtual size_t iCelPropertyClassList::Find | ( | iCelPropertyClass * | obj | ) | const`[pure virtual]`

Find a property class and return its index.

virtual iBase* iCelPropertyClassList::FindByInterface | ( | scfInterfaceID | id,
|  | int | version |
| ) |  |  | const`[pure virtual]`

Find a property class by SCF interface.

Return that interface with ref-count incremented with one. This function will first try to find a property class that implements the interface but has tag not set (0). If such a property class cannot be found then it will return a random one that implements the given interface.

virtual iBase* iCelPropertyClassList::FindByInterfaceAndTag | ( | scfInterfaceID | id,
|  | int | version,
|  | const char * | tag |
| ) |  |  | const`[pure virtual]`

Find a property class by SCF interface and tag.

If tag is 0 then it will find the default property class.

virtual iCelPropertyClass* iCelPropertyClassList::FindByName | ( | const char * | name | ) | const`[pure virtual]`

Find a property class by name.

This function will first try to find a property class with the given name that has tag not set (0). If such a property class is not found it will return a random one with the given name.

virtual iCelPropertyClass* iCelPropertyClassList::FindByNameAndTag | ( | const char * | name,
|  | const char * | tag |
| ) |  |  | const`[pure virtual]`

Find a property class by name and tag.

If tag is 0 then it will find the default property class.

virtual iCelPropertyClass* iCelPropertyClassList::Get | ( | size_t | n | ) | const`[pure virtual]`

Return a property class by index.

virtual size_t iCelPropertyClassList::GetCount | ( |  | ) | const`[pure virtual]`

Return the number of property classes in this list.

virtual bool iCelPropertyClassList::Remove | ( | size_t | n | ) | `[pure virtual]`

Remove the nth property class.

virtual bool iCelPropertyClassList::Remove | ( | iCelPropertyClass * | obj | ) | `[pure virtual]`

Remove a property class.

virtual void iCelPropertyClassList::RemoveAll | ( |  | ) | `[pure virtual]`

Remove all property classes.

virtual bool iCelPropertyClassList::RemoveByInterface | ( | scfInterfaceID | scf_id,
|  | int | iVersion |
| ) |  |  | `[pure virtual]`

Remove all property classes with given interface (ignores tag).

virtual bool iCelPropertyClassList::RemoveByInterfaceAndTag | ( | scfInterfaceID | scf_id,
|  | int | iVersion,
|  | const char * | tag |
| ) |  |  | `[pure virtual]`

Remove all property classes with given interface and with the given tag.

'tag' can be 0. In that case it will remove property classes with no tag.

The documentation for this struct was generated from the following file:

- physicallayer/propclas.h