nyan icon indicating copy to clipboard operation
nyan copied to clipboard

Replace `fqon_t` with more advanced identifier type

Open heinezen opened this issue 1 year ago • 4 comments

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:

  • [X] Rebuilding the directory/file path of an object (e.g. for fetching relative file referenced by the file type)
  • [X] 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:

struct fqon_t {
  std::vector<std::string> dir_parts;
  std::string file_part;
  std::vector<std::string> obj_parts;
};

heinezen avatar Jun 15 '23 11:06 heinezen