我正在尝试使用变体在 c++ 中表示 PDF 对象类型。PDF 对象是以下对象之一:
Boolean
Integer
Real
String
Name
Stream
Array<Object>
Map<Object, Object>
如您所见,该Object
类型是相互递归的,因为该Array
类型需要声明该Map
类型,而该声明需要声明该Array
类型。我怎么能在 C++ 中表示这种类型?如果变体不是最好的方法,那是什么?
这是我迄今为止尝试过的,但由于std::unordered_map
(我认为)http://coliru.stacked-crooked.com/a/699082582e73376e的要求,它没有编译