/**
 * Autogenerated by Thrift Compiler (0.9.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
#include "parquet_constants.h"

namespace parquet {

const parquetConstants g_parquet_constants;

parquetConstants::parquetConstants() {
}

} // namespace

