You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current object, member or namespace IDs are simple std::string types, e.g. fqon_t or fqnn_t. These are sufficient for addressing nyan objects, but are not suitable for advanced operations like:
Rebuilding the directory/file path of an object (e.g. for fetching relative file referenced by the file type)
Getting the namespace an object is in
Checking if an object is nested
Checking if a member ID is prefixed (with inheritance info)
Ideally, we want something that captures all of these features while still being as easy to use as std::string.
A good start would be to have a class that manages the individual parts of an fqon:
the current types are very simple but efficient, and this is a tradeoff between just-read operations and modifications/updates. currently the code is optimized for the former :) so if we change this, we have to consider the benefits well.
@TheJJ My current idea is to extend nyan::Namespace with the individual fqon parts idea from above (fqons are already split there, but not by directory/file/object) plus some additional helper methods and save the namespace for each object in ObjectInfo. Everything else will still use fqon_t internally. This would solve most of the requirements for object types (not for members and namespaces though).
Getting the directory/file paths for objects is the most important issue right now because it is pretty much required for using file member values with relative paths.
Current object, member or namespace IDs are simple
std::string
types, e.g.fqon_t
orfqnn_t
. These are sufficient for addressing nyan objects, but are not suitable for advanced operations like:file
type)Ideally, we want something that captures all of these features while still being as easy to use as
std::string
.A good start would be to have a class that manages the individual parts of an fqon:
The text was updated successfully, but these errors were encountered: