Class Group

Inheritance Relationships

Base Type

Class Documentation

class Group : public nix::base::EntityWithSources<base::IGroup>

Public Functions

inline Group()

Constructor that creates an uninitialized Group.

Calling any method on an uninitialized group will throw a nix::UninitializedEntity exception. The following code illustrates how to check if a group is initialized:

Group g = ...;
if (g) {
    // g is initialised
} else {
    // g is uninitialized
}

inline Group(const Group &other)

Copy constructor.

Copying of all NIX front facing objects like Group is a rather cheap operation. Semantically this is equivalent to the creation of another reference to the original object.

Parameters

other – The group to copy.

inline Group(const std::shared_ptr<base::IGroup> &p_impl)

Constructor that creates a new group from a shared pointer to an implementation instance.

This constructor should only be used in the back-end.

inline Group(std::shared_ptr<base::IGroup> &&ptr)

Constructor with move semantics that creates a new group from a shared pointer to an implementation instance.

This constructor should only be used in the back-end.

inline bool hasDataArray(const std::string &name_or_id) const

Checks whether a DataArray is referenced by the group.

Parameters

name_or_id – The name or the id of the DataArray to check.

Returns

True if the data array is referenced, false otherwise.

inline bool hasDataArray(const DataArray &data_array) const

Checks whether a DataArray is referenced by the group.

Parameters

data_array – The DataArray to check.

Returns

True if the data array is referenced, false otherwise.

inline ndsize_t dataArrayCount() const

Gets the number of referenced DataArray entities of the tag.

Returns

The number of referenced data arrays.

inline DataArray getDataArray(const std::string &name_or_id) const

Gets a specific referenced DataArray from the tag.

Parameters

name_or_id – The name or id of the referenced DataArray (using the id is faster).

Returns

The referenced data array.

inline DataArray getDataArray(size_t index) const

Gets a referenced DataArray by its index.

Parameters

index – The index of the DataArray.

Returns

The referenced data array.

inline void addDataArray(const DataArray &data_array)

Add a DataArray to the list of referenced data of the group.

Parameters

data_array – The DataArray to add.

inline void addDataArray(const std::string &name_or_id)

Add a DataArray to the list of referenced data of the group.

Parameters

name_or_id – The name or id of the DataArray to add.

inline bool removeDataArray(const DataArray &data_array)

Remove a DataArray from the list of referenced data of the group.

This method just removes the association between the data array and the tag, the data array itself will not be removed from the file.

Parameters

data_array – The DataArray to remove.

Returns

True if the DataArray was removed, false otherwise.

inline bool removeDataArray(const std::string &name_or_id)

Remove a DataArray from the list of referenced data of the group.

This method just removes the association between the data array and the tag, the data array itself will not be removed from the file.

Parameters

name_or_id – The name or the id of the DataArray to remove. (using the id is faster)

Returns

True if the DataArray was removed, false otherwise.

std::vector<DataArray> dataArrays(const util::Filter<DataArray>::type &filter) const

Get referenced data arrays associated with this group.

The parameter filter can be used to filter data arrays by various criteria.

Parameters

filter – A filter function.

Returns

A vector containing the matching data arrays.

inline std::vector<DataArray> dataArrays() const

Get all referenced data arrays associated with this group.

Always uses filter that accepts all dataArrays.

Returns

The filtered DataArrays as a vector

void dataArrays(const std::vector<DataArray> &data_arrays)

Sets all referenced DataArray entities.

Previously referenced data arrays, that are not in the references vector will be removed.

Parameters

data_arrays – All referenced arrays.

inline bool hasDataFrame(const std::string &name_or_id) const

Checks whether a DataFrame is referenced by the group.

Parameters

name_or_id – The name or the id of the DataFrame to check.

Returns

True if the data frame is referenced, false otherwise.

inline bool hasDataFrame(const DataFrame &data_frame) const

Checks whether a DataFrame is referenced by the group.

Parameters

data_frame – The DataFrame to check.

Returns

True if the data frame is referenced, false otherwise.

inline ndsize_t dataFrameCount() const

Gets the number of referenced DataFrame entities of the tag.

Returns

The number of referenced data frames.

inline DataFrame getDataFrame(const std::string &name_or_id) const

Gets a specific referenced DataFrame from the tag.

Parameters

name_or_id – The name or id of the referenced DataFrame (using the id is faster).

Returns

The referenced data frame.

inline DataFrame getDataFrame(ndsize_t index) const

Gets a referenced DataFrame by its index.

Parameters

index – The index of the DataFrame.

Returns

The referenced data frame.

inline void addDataFrame(const DataFrame &data_frame)

Add a DataFrame to the list of referenced data of the group.

Parameters

data_frame – The DataFrame to add.

inline void addDataFrame(const std::string &name_or_id)

Add a DataFrame to the list of referenced data of the group.

Parameters

name_or_id – The name or id of the DataFrame to add.

inline bool removeDataFrame(const DataFrame &data_frame)

Remove a DataFrame from the list of referenced data of the group.

This method just removes the association between the data frame and the tag, the data frame itself will not be removed from the file.

Parameters

data_frame – The DataFrame to remove.

Returns

True if the DataFrame was removed, false otherwise.

inline bool removeDataFrame(const std::string &name_or_id)

Remove a DataFrame from the list of referenced data of the group.

This method just removes the association between the data frame and the tag, the data frame itself will not be removed from the file.

Parameters

name_or_id – The name or the id of the DataFrame to remove. (using the id is faster)

Returns

True if the DataFrame was removed, false otherwise.

std::vector<DataFrame> dataFrames(const util::Filter<DataFrame>::type &filter) const

Get referenced data frames associated with this group.

The parameter filter can be used to filter data frames by various criteria.

Parameters

filter – A filter function.

Returns

A vector containing the matching data frames.

inline std::vector<DataFrame> dataFrames() const

Get all referenced data frames associated with this group.

Always uses filter that accepts all dataFrames.

Returns

The filtered DataFrames as a vector

void dataFrames(const std::vector<DataFrame> &data_frames)

Sets all referenced DataFrame entities.

Previously referenced data frames, that are not in the references vector will be removed.

Parameters

data_frames – All referenced arrays.

inline bool hasTag(const std::string &name_or_id) const

Checks whether a Tag is referenced by the group.

Parameters

name_or_id – The name or id of the Tag to check.

Returns

True if the tag is referenced, false otherwise.

inline bool hasTag(const Tag &tag) const

Checks whether a Tag is referenced by the group.

Parameters

tag – The Tagto check.

Returns

True if the tag is referenced, false otherwise.

inline ndsize_t tagCount() const

Gets the number of referenced Tag entities of the tag.

Returns

The number of referenced tags.

inline Tag getTag(const std::string &name_or_id) const

Gets a specific referenced Tag from the tag.

Parameters

name_or_id – The name or id of the referenced Tag.

Returns

The referenced tag.

inline Tag getTag(size_t index) const

Gets a referenced Tag by its index.

Parameters

index – The index of the Tag.

Returns

The referenced tag.

inline void addTag(const Tag &tag)

Add a Tag to the list of referenced data of the group.

Parameters

tag – The Tag to add.

inline void addTag(const std::string &name_or_id)

Add a Tag to the list of referenced data of the group.

Parameters

name_or_id – The name or id of the Tag to add.

inline bool removeTag(const Tag &tag)

Remove a Tag from the list of referenced tags of the group.

This method just removes the association between the tag and the group, the tag itself will not be removed from the file.

Parameters

tag – The Tag to remove.

Returns

True if the Tag was removed, false otherwise.

inline bool removeTag(const std::string &name_or_id)

Remove a Tag from the list of referenced tags of the group.

This method just removes the association between the tag and the group, the tag itself will not be removed from the file.

Parameters

name_or_id – The name or id of the Tag to remove.

Returns

True if the Tag was removed, false otherwise.

std::vector<Tag> tags(const util::Filter<Tag>::type &filter) const

Get referenced tag associated with this group.

The parameter filter can be used to filter tags by various criteria.

Parameters

filter – A filter function.

Returns

A vector containing the matching tags.

inline std::vector<Tag> tags() const

Get all referenced tags associated with this group.

Always uses filter that accepts all tags.

Returns

The filtered Tags as a vector

void tags(const std::vector<Tag> &tags)

Sets all referenced Tag entities.

Previously referenced tags, that are not in the passed vector will be removed.

Parameters

tags – All tags.

inline bool hasMultiTag(const std::string &name_or_id) const

Checks whether a MultiTag is referenced by the group.

Parameters

name_or_id – The name or id of the MultiTag to check.

Returns

True if the MultiTag is referenced, false otherwise.

inline bool hasMultiTag(const MultiTag &tag) const

Checks whether a MultiTag is referenced by the group.

Parameters

tag – The MultiTag to check.

Returns

True if the MultiTag is referenced, false otherwise.

inline ndsize_t multiTagCount() const

Gets the number of referenced MultiTag entities of the group.

Returns

The number of referenced MultiTags.

inline MultiTag getMultiTag(const std::string &name_or_id) const

Gets a specific referenced MultiTag from the group.

Parameters

name_or_id – The name or id of the referenced MultiTag.

Returns

The referenced MultiTag.

inline MultiTag getMultiTag(size_t index) const

Gets a referenced MultiTag by its index.

Parameters

index – The index of the MultiTag.

Returns

The referenced MultiTag.

inline void addMultiTag(const MultiTag &multi_tag)

Add a MultiTag to the list of referenced tags of the group.

Parameters

multi_tag – The MultiTag to add.

inline void addMultiTag(const std::string &name_or_id)

Add a MultiTag to the list of referenced tags of the group.

Parameters

name_or_id – The name or id of the MultiTag to add.

inline bool removeMultiTag(const MultiTag &multi_tag)

Remove a MultiTag from the list of referenced tags of the group.

This method just removes the association between the tag and the group, the tag itself will not be removed from the file.

Parameters

multi_tag – The MultiTag to remove.

Returns

True if the MultiTag was removed, false otherwise.

inline bool removeMultiTag(const std::string &name_or_id)

Remove a MultiTag from the list of referenced tags of the group.

This method just removes the association between the tag and the group, the MultiTag itself will not be removed from the file.

Parameters

name_or_id – The name or the id of the MultiTag to remove.

Returns

True if the MultiTag was removed, false otherwise.

std::vector<MultiTag> multiTags(const util::Filter<MultiTag>::type &filter) const

Get referenced MultiTag associated with this group.

The parameter filter can be used to filter MultiTag by various criteria.

Parameters

filter – A filter function.

Returns

A vector containing the matching tags.

inline std::vector<MultiTag> multiTags() const

Get all referenced MultiTags associated with this group.

Always uses filter that accepts all MultiTags.

Returns

The filtered MultiTags as a vector

void multiTags(const std::vector<MultiTag> &multi_tags)

Sets all referenced MultiTag entities.

Previously referenced MultiTags, that are not in the passed vector will be removed.

Parameters

multi_tags – All MultiTags.

inline Group &operator=(const none_t &t)

Assignment operator for none.

inline Group &operator=(const Group &other)

Copy-assignment operator.

Friends

friend NIXAPI friend std::ostream & operator<< (std::ostream &out, const Group &ent)

Output operator.