按相互包含对类型进行排序
Sort types by inclusion to each other
我现在正在为UE4开发Google Protobuf到C++转换器。以下结构是从 protobuf 的消息中得出的。假设在 Messages.h 文件中,它们按以下方式列出:
struct B
{
int i;
A b;
};
struct A
{
float f;
long l;
};
struct C
{
A a;
B b;
};
注:注:我不能使用前向声明,也不能使用指针,它们应该是值。
正确的初始化顺序是:A, B, C
(这意味着如果这些结构按顺序定义A, B, C
,一切都很好(。我有所有类型及其对其他类型的引用,在我的演示中也有其他类型的:int、float、long。
我想按正确的顺序对它们进行排序。我该怎么做,我怎么知道这是不可能的(如果类型相互交叉引用(?
拓扑排序工作得很好。
下面是可以使用典型拓扑排序对对象进行排序的代码。它还具有几个管理图形的功能。如果它能帮助某人,会受宠若惊。
相关文章:
- 对任何类型的元素数组进行排序
- 带有枚举方向/类型的气泡排序结构数组
- 标准::map键类型的严格弱排序概念
- 无法使用接口类型对priority_queue中的对象进行排序<T>
- 是否使用cv::Point2f类型重载std::排序
- 按类型排序向量并按类型或派生类型搜索
- C++ MDC final-在字符类型的数组结构中按字母顺序对记录中的名称进行排序
- 我对C 中共享指针列表进行排序的功能未完成类型
- C 使用单个函数对具有多种值类型的数组排序
- 排序时引用绑定到 'value_type' 类型的 null 指针
- 如何对对象数组进行排序,而不考虑对象变量类型
- 为什么我的气泡排序不适用于双精度数据类型?
- 按相互包含对类型进行排序
- 具有双重类型的C++快速排序问题
- C++列表::排序<未解析的重载函数类型>
- 对标准库容器类型进行排序的static_assert() 的优雅方式
- 排序测试模板化函数 lambda:非法使用此类型作为表达式
- std::使用本地类型Compare进行排序
- 是否可以在运行时定义要在STXXL中排序的类型的长度
- 尝试输入整数行并在以矢量作为存储的函数的插入排序类型中排序