Textractor/extensions/extension.h

26 lines
558 B
C
Raw Permalink Normal View History

2018-10-11 14:29:11 -04:00
#pragma once
2018-11-04 21:19:00 -05:00
#include "common.h"
2018-10-11 14:29:11 -04:00
struct InfoForExtension
{
const char* name;
int64_t value;
};
struct SentenceInfo
{
2019-02-09 00:30:38 -05:00
const InfoForExtension* infoArray;
2018-10-11 14:29:11 -04:00
int64_t operator[](std::string propertyName)
{
2019-06-29 14:57:39 +05:30
for (auto info = infoArray; info->name; ++info) // nullptr name marks end of info array
if (propertyName == info->name) return info->value;
return *(int*)0xcccc = 0; // gives better error message than alternatives
2018-10-11 14:29:11 -04:00
}
2019-02-10 21:46:39 -05:00
2019-02-17 19:14:49 -05:00
inline static InfoForExtension DUMMY[2] = { { "text number", 1 } };
2018-10-11 14:29:11 -04:00
};
struct SKIP {};
inline void Skip() { throw SKIP(); }