Class IBlock

Inheritance Relationships

Base Type

Class Documentation

class IBlock : public virtual nix::base::IEntityWithMetadata

Interface for implementations of the Block entity.

See nix::Block for a more detailed description.

Public Functions

virtual std::string resolveEntityId(const nix::Identity &ident) const = 0
virtual bool hasEntity(const nix::Identity &ident) const = 0
virtual std::shared_ptr<base::IEntity> getEntity(const nix::Identity &ident) const = 0
virtual std::shared_ptr<base::IEntity> getEntity(ObjectType type, ndsize_t index) const = 0
virtual ndsize_t entityCount(ObjectType type) const = 0
virtual bool removeEntity(const nix::Identity &ident) = 0
template<typename T>
inline std::shared_ptr<T> getEntity(const nix::Identity &ident) const
template<typename T>
inline std::shared_ptr<T> getEntity(const std::string &name_or_id) const
template<typename T>
inline std::shared_ptr<T> getEntity(ndsize_t index) const
virtual std::shared_ptr<base::ISource> createSource(const std::string &name, const std::string &type) = 0
virtual bool deleteSource(const std::string &name_or_id) = 0
virtual std::shared_ptr<base::IDataArray> createDataArray(const std::string &name, const std::string &type, DataType data_type, const NDSize &shape, const Compression &compression) = 0
virtual std::shared_ptr<base::IDataFrame> createDataFrame(const std::string &name, const std::string &type, const std::vector<Column> &cols, const Compression &compression) = 0
virtual std::shared_ptr<base::ITag> createTag(const std::string &name, const std::string &type, const std::vector<double> &position) = 0
virtual std::shared_ptr<base::IMultiTag> createMultiTag(const std::string &name, const std::string &type, const DataArray &positions) = 0
virtual std::shared_ptr<base::IGroup> createGroup(const std::string &name, const std::string &type) = 0
inline virtual ~IBlock()