Refactor layout of pxd files

This commit is contained in:
Jason Paryani
2013-12-08 17:27:59 -08:00
parent 8aa258ff73
commit cff551c774
13 changed files with 66 additions and 16 deletions

22
capnp/helpers/fixMaybe.h Normal file
View File

@@ -0,0 +1,22 @@
#include "kj/common.h"
#include <stdexcept>
template<typename T>
T fixMaybe(::kj::Maybe<T> val) {
KJ_IF_MAYBE(new_val, val) {
return *new_val;
} else {
throw std::invalid_argument("member was null");
}
}
template<typename T>
const char * getEnumString(T & val) {
auto maybe_val = val.which();
KJ_IF_MAYBE(new_val, maybe_val) {
return new_val->getProto().getName().cStr();;
} else {
return "";
}
}