本文整理汇总了C++中Sym::index方法的典型用法代码示例。如果您正苦于以下问题:C++ Sym::index方法的具体用法?C++ Sym::index怎么用?C++ Sym::index使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sym
的用法示例。
在下文中一共展示了Sym::index方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: print
//TODO: it would be nice to put print in a .cpp somewhere since performance
//isn't critical. but we have no lib for the toplevel xmt/ headers.
inline void print(std::ostream &out, Sym sym, IVocabulary const* vocab
, char const* variablePrefix="X") {
//TODO: consider always escaping for syntax rule formats (anything with
//delimiters other than space, which we never allow inside tokens, etc)
if (variablePrefix && sym.isVariable())
out << "X" << sym.index();
// some unit tests use vocabularies that don't set a variables vocab. if
// that's fixed, we can remove the variablePrefix arg
else if (vocab)
out << vocab->str(sym); // if you want quotes + escaping, use Hypergraph/SymbolPrint.hpp
else
out << sym.getTypeNameShort() << sym.index();
}
示例2: assert
inline void operator-=(Sym delta) {
assert(delta.type() == type());
operator-=(delta.index());
}
示例3: containsSym
bool containsSym(Sym sym) const {
assert(sym.type() == type_);
SymInt index = sym.index();
assert(index >= offset_);
return index - offset_ < symbols_.size();
}
示例4: boundsSym
bool boundsSym(Sym sym) const { return sym.index() < offset_ + symbols_.size(); }