At an informal reading, even if no properties are written you can imagine that implicitly:
- A file object exists in all files.
- A group object exists if a channel object exists for it.
This assumption saves us from creating them on write but complicates the reads. For example listing all groups and reference an implicit group (not handled).
But from the description:
In order for all TDMS client applications to work properly, every TDMS file must contain a file object. A file object must contain a group object for each group name used in a channel path. In addition, a file object can contain an arbitrary number of group objects with no channels.
So does this mean logically or we need to write them to disk.
If we must always write it explicitly then:
If we do not we must assume other clients would not write them and handle the case they are missing. This means:
At an informal reading, even if no properties are written you can imagine that implicitly:
This assumption saves us from creating them on write but complicates the reads. For example listing all groups and reference an implicit group (not handled).
But from the description:
So does this mean logically or we need to write them to disk.
If we must always write it explicitly then:
list_groupsto not require the BTreeSet and instead just return everything that is a group.If we do not we must assume other clients would not write them and handle the case they are missing. This means: